Commit Graph

7634 Commits

Author SHA1 Message Date
Johannes Lorenz
77fee49735 Lv2: Don't show ports with prop notOnGUI (#6310)
Additionally, this commit removes an unused variable.
2022-02-13 12:44:53 +01:00
Alex
dc73911391 Rename Beat/Bassline to Pattern (#6284)
- BB* -> Pattern*
- BBTrackContainer -> PatternStore
- BBTrackContainerView -> PatternEditor
- BBEditor -> PatternEditorWindow

Does not touch save files
2022-02-13 09:03:37 +01:00
Hyunjin Song
8a0f1dd95b Fix small memory leaks in EQ dialog (#6300) 2022-02-11 10:10:32 +09:00
Alex
40f4d51078 Do not constantly repaint all clips during selection in song editor (#6303) 2022-02-11 00:27:28 +01:00
merrickclay
912c0b76ea Add missing disconnect statements in PianoRoll (#6245) 2022-02-09 11:51:32 +09:00
Hyunjin Song
877a93198f MidiOss: Fix a typo which breaks build 2022-01-29 15:48:23 +09:00
nia
31aac6265c midioss: Use unbuffered I/O to access the device node. (#6276)
This fixes problems reading from MIDI devices on NetBSD - the
input blocked until a certain number of notes have been read
rather than returning immediately when a single note is received.
2022-01-29 14:59:48 +09:00
Johannes Lorenz
17b4863a76 More LV2 buf-size features (#6254)
Implement `LV2_BUF_SIZE__boundedBlockLength` and
`LV2_BUF_SIZE__fixedBlockLength`.
2022-01-23 14:44:39 +01:00
Alex
1162856418 Rename TCO to Clip in the clipboard data (#6278) 2022-01-16 05:47:58 +01:00
Alexandre Almeida
7fe2152938 Fix broken data file upgrade (#6279)
Fixes issues introduced in previous commit (55d361fb65),
which affected loading, saving and drag-dropping of clips.
2022-01-15 22:19:34 +01:00
Alexandre Almeida
55d361fb65 Rename TCO and related to Clip (#6226)
This PR renames

    TCO -> Clip
    Pattern -> MidiClip
    *TCO and *TCOView -> *Clip and *ClipView

The savefiles are not yet modified by this PR.
2022-01-14 05:45:21 +01:00
Yashraj Shinde
bf323d2024 Rename FxMixer to Mixer (#6239)
... as decided in #6089 and #5592.

This PR replaces every occurrence of "FX" where "Mixer Channel" is meant.
2022-01-09 08:15:23 +01:00
merrickclay
54fff4ff23 Added check for empty notes vector in shiftPos (#6252) 2022-01-06 23:37:08 +01:00
Martin Pavelek
13e55101f0 Improve spectrum analyzer performance by caching most used computations (#6003) 2022-01-06 12:09:46 +09:00
merrickclay
13e17496dc Updates PianoRoll to immediately reflect note changes in BBEditor (#6242) 2021-12-28 11:12:26 +09:00
SeleDreams
7f666e8071 Fixed issue of build when fpermissive isn't enabled due to an issue of higher pointer size 2021-12-27 10:56:59 -06:00
Lior Merkel
98786dd84f Make preset saving oblivious to mute/solo/muteBeforeSolo states (#6214) 2021-12-27 11:23:19 +09:00
István Szabó
7b1cc36880 Fix spinbox offsets in MIDI tab of instruments (#6235) 2021-12-27 11:11:08 +09:00
merrickclay
f8258253d5 Fix changing LcdSpinBox value changing their init value (#6241) 2021-12-25 13:07:45 +09:00
Ray Redondo
7e2ccc13d6 Run dos2unix (#6198) 2021-12-14 23:13:13 +01:00
Raine M. Ekman
6a716fa5fd Extend denormal protection through DAZ flag to all capable CPUs (#6167) 2021-11-25 14:44:42 +09:00
Alexandre Almeida
eee1a81ff3 Rename "mixer" to "audioengine" on lmmsrc.xml (#6181) 2021-11-20 21:43:32 +01:00
Alex
445b55f0f5 Don't draw position arrow when line is out of view (#6191)
Also hides timeline numbers above the piano keys.
2021-11-20 11:15:07 +09:00
JGHFunRun
99d887610d Fix a bug where the BPM is modulo'd by 256 on MIDI export (#6215)
Also fixes code formatting of the relevant function.
2021-11-09 14:53:31 +09:00
Johannes Lorenz
1dabd75267 Fixes #6186: No segfaults with future lmmsrc.xml version (#6208) 2021-11-05 17:30:27 +01:00
Dominic Clark
3d7ef9fa4f Use modern CMake targets for SDL2 (#6132) 2021-10-05 16:38:11 +01:00
Alexandre Almeida
ca790def76 Fix clip rendering inconsistency (#6182)
* Fix clip rendering inconsistency

* Remove trailing whitespaces
2021-10-05 11:20:57 +02:00
Alex
f16ec9c054 Fix crash when zooming out during knife mode (#6184) 2021-10-05 10:41:36 +09:00
Dominic Clark
e1d5391f22 Fix MSVC architecture detection with non-VS generators (#6175) 2021-10-03 23:45:13 +01:00
Alexandre Almeida
47cddcba75 Split InstrumentTrack (#6176)
Split InstrumentTrackView and InstrumentTrackWindow off of InstrumentTrack
2021-10-02 05:40:01 +02:00
Johannes Lorenz
745dec673d Add missing cstddef include 2021-10-01 22:55:58 +02:00
Levin Oehlmann
f742710758 Macro cleanup (#6095)
Summary:

* `NULL` -> `nullptr`
* `gui` -> Function `getGUI()`
* `pluginFactory` -> Function `getPluginFactory()`
* `assert` (redefinition) -> using `NDEBUG` instead, which standard `assert` respects.
* `powf` (C stdlib symbol clash) -> removed and all expansions replaced with calls to `std::pow`.
* `exp10` (nonstandard function symbol clash) -> removed and all expansions replaced with calls to `std::pow`.
* `PATH_DEV_DSP` -> File-scope QString of identical name and value.
* `VST_SNC_SHM_KEY_FILE` -> constexpr char* with identical name and value.
* `MM_ALLOC` and `MM_FREE` -> Functions with identical name and implementation.
* `INVAL`, `OUTVAL`, etc. for automation nodes -> Functions with identical names and implementations.
* BandLimitedWave.h: All integer constant macros replaced with constexpr ints of same name and value.
* `FAST_RAND_MAX` -> constexpr int of same name and value.
* `QSTR_TO_STDSTR` -> Function with identical name and equivalent implementation.
* `CCONST` -> constexpr function template with identical name and implementation.
* `F_OPEN_UTF8` -> Function with identical name and equivalent implementation.
* `LADSPA_PATH_SEPARATOR` -> constexpr char with identical name and value.
* `UI_CTRL_KEY` -> constexpr char* with identical name and value.
* `ALIGN_SIZE` -> Renamed to `LMMS_ALIGN_SIZE` and converted from a macro to a constexpr size_t.
* `JACK_MIDI_BUFFER_MAX` -> constexpr size_t with identical name and value.
* versioninfo.h: `PLATFORM`, `MACHINE` and `COMPILER_VERSION` -> prefixed with `LMMS_BUILDCONF_` and converted from macros to constexpr char* literals.
* Header guard _OSCILLOSCOPE -> renamed to OSCILLOSCOPE_H
* Header guard _TIME_DISPLAY_WIDGET -> renamed to TIME_DISPLAY_WIDGET_H
* C-style typecasts in DrumSynth.cpp have been replaced with `static_cast`.
* constexpr numerical constants are initialized with assignment notation instead of curly brace intializers.
* In portsmf, `Alg_seq::operator[]` will throw an exception instead of returning null if the operator index is out of range.

Additionally, in many places, global constants that were declared as `const T foo = bar;` were changed from const to constexpr, leaving them const and making them potentially evaluable at compile time.

Some macros that only appeared in single source files and were unused in those files have been removed entirely.
2021-09-30 18:01:27 +02:00
Alex
32b454fbec Speed up SF2 loading (#6075)
* Speed up sf2 loading by removing redundant code

* Comment

* Skip pointless call to loadFile

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>

* Rename updateSampleRate to reloadSynth

Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
2021-09-25 12:18:29 +02:00
Alex
96369405b4 Color submenu, undoable colors, renaming signals (#6165)
* TCO coloring: submenu, randomize, undoable, renaming signals/slots

* Track coloring: submenu, undoable, renaming signals/slots

* FX color submenu

* Set modified on color change

* Use lambda to update TCOView after track color change

* More renaming, fix memory leak

Co-authored by DomClark
2021-09-24 21:53:25 +02:00
Johannes Lorenz
e0298891e4 clang-format: Prepare plugin descriptor init'ers 2021-09-22 22:46:12 +02:00
Tres Finocchiaro
131b273894 Fix compilation on macOS aarch64 (#6152)
* Fix compilation on macOS aarch64
- Bumps rpmalloc submodule to fix assembly compilation, fix `rpmalloc_thread_finalize()` API change
- Adds aarch64 "/opt" Homebrew prefix (reuse `APPLE_PREFIX`)
* Add detection for non-Intel architectures
2021-09-22 09:28:16 -04:00
Johannes Lorenz
8a9a2fae62 Compile LMMS using C++17
This replaces `set(CMAKE_CXX_STANDARD 14)` by `set(CMAKE_CXX_STANDARD 17)`
wherever it is required.

Additionally:

* raise `CMAKE_MINIMUM_REQUIRED(VERSION ...)` to `3.8` (the minimum
  that supports C++17)
* `stdshims.h` is now unused and thus removed
2021-09-17 18:23:01 +02:00
Dominic Clark
fd18305fba Pull vcpkg quietly on AppVeyor 2021-09-16 13:24:33 +01:00
Hussam al-Homsi
e3044575bc Default to FLAC compression level 5 (#6052) 2021-09-15 17:50:49 +01:00
Alexandre Almeida
770d2498b5 Rename Mixer to AudioEngine (#6127) 2021-09-12 01:00:21 +02:00
Johannes Lorenz
fa407d2530 README: Use CircleCI build passed badge
We do not have build for Travis anymore, but almost all builds are on CircleCI now.
2021-09-11 18:06:57 +02:00
Johannes Lorenz
1ecf0c99d9 Let CircleCI use linux.gcc:18:04 2021-09-11 17:48:07 +02:00
Martin Pavelek
e07861ced3 Support for alternative tunings and keyboard mappings (#5522)
Co-authored-by: Kevin Zander <veratil@gmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
Co-authored-by: Martin <martin@sigma.he29.net>
2021-09-09 18:49:24 +01:00
Dominic Clark
ace502f1a5 Eliminate deprecated register keyword (#6133) 2021-08-18 14:42:30 +01:00
Hyunjin Song
46c246a5b0 CreateTempFile: fix wrong variable name
Fix CMake errors with MSVC + CMake < 3.14
2021-08-16 10:21:22 +09:00
Levin Oehlmann
da54109995 Update exprtk submodule to 93a9f44 2021-08-15 15:03:23 +02:00
Hussam al-Homsi
3a39008d0c Fix CMake check for SFC_SET_COMPRESSION_LEVEL (#6054) 2021-07-27 11:10:01 +09:00
Hyunjin Song
5d7692f437 Fix wrong VST pitch after starting LMMS with non-default sampling rate (#6068) 2021-07-27 11:09:26 +09:00
Levin Oehlmann
0abbd6cb79 Remove 'using namespace std;' from some headers (#6076) 2021-07-23 19:16:51 +02:00
István Szabó
660056045c Fix cloning of B/B tracks (#6077)
Co-authored-by: Spekular <Spekular@users.noreply.github.com>
2021-07-22 11:05:57 +09:00