* 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
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
Add a band-limited, alias-free wavetable oscillator option to the
`Oscillator` class. Use it by default for Triple Oscillator.
Savefiles which do not have this feature enabled (e.g. old
savefiles) will be loaded without this feature to keep the sound
consistent.
Original author: @curlymorphic.
Fixed: @he29-net.
A new button called "Params" is added to the Carla instrument window; on press
it will open a new sub-window where Carla parameters can be found, ready for
connecting to a automation-track or controller. The exposed parameters in the
sub-window can be filtered by text and there is the ability to display only
parameters that are connected to a automation-track or controller. When there
are multiple plugins loaded inside Carla, the combo-box inside the (LMMS)
parameters sub-window can be used to switch between parameters of a specific
plugin (Carla).
Notes:
- Available when compiled with Carla version 2.1 and up.
- Currently Carla (2.1) will expose a maximum of 110 parameters.
- The param window state isn't stored yet in a LMMS project, this is still
TODO.
- Connected paramters will NOT instantly disappear when they are disconnected
with the "Show only knobs with a connection" filter enabled. See
https://github.com/LMMS/lmms/pull/5846#issuecomment-762666428
* Don't draw BB editor inside Song Editor
Currently, a small BB editor is drawn inside the Song Editor at high zoom levels. As discussed in #3060 this is unintuitive and appears broken (I've seen several other reports of this as a bug). This PR removes this behavior.
* Make removal optional
* Fix bug introduced by #5657
There was a bug introduced by #5657 where reloading a project
and playing it could cause a Segmentation Fault crash. After some
debugging, @DomClark tracked the issue to be likely a use-after-free
being caused by m_oldAutomatedValues not being cleared when the project
was loaded again.
This commit adds a line to clear the m_oldAutomatedValues map on
Song::clearProject(), which is called from Song::loadProject().
Now, instead of using a Signal/Slot connection to move the
control of the models back to the controllers, every time the song is
processing the automations, the control of the models that were
processed in the last cycle are moved back to the controller. The same
is done under Song::stop(), so the last cycle models control is moved
back to the controller.
That removes the need to have a pointer to the controlled model
in the controller object.
Adds mixer model change request to avoid race condition.
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
* Added messagebox when user tries to delete track
* Code review refactorings
* Update Track.h
* Changed message box title to "Confirm removal"
* Merge changes from master
* Add option to disable warning
* Default to showing warning if no config found
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Spekular <Spekular@users.noreply.github.com>
On the AutomationPattern copy constructor, the automation nodes
were copied from the origin pattern but their "owner pattern" pointers
weren't updated.
Thanks Dom for finding and reporting this bug.