LMMS failed to build with recent versions of CMake if CMAKE_RC_COMPILER
was not set in MinGWCrossCompile.cmake. Furthermore PKG_CONFIG_FOUND
manually needs to be set to TRUE.
LMMS VST Support Layer has been greatly advanced as it now features
(automatable) VST controls as well as support for VST presets. This
still needs some work as it crashes with various plugins (e.g. z3ta+).
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
As ZynAddSubFX still uses the horrible approach of storing global
settings (such as the currently used samplerate) in global static
variables the Echo effect will crash when the samplerate is changed
for a previously loaded ZynAddSubFX instance.
As a quick fix the original samplerate used for instantiating and
accessing internal arrays (whose size depends on global samplerate
variable) is saved for each instance and used everywhere instead of
SAMPLE_RATE.
Fixes crash when exporting e.g. Saber-FinalStep.mmpz at a higher
samplerate than LMMS normally runs with.
Catch the case the model is empty in ComboBoxModel::currentText() and
return an empty string instead of crashing. Fixes crash with settings
dialog if no sound devices are accessible via PortAudio.
Even though there's no known code path for this event to happen we
should always make sure m_runningMidiNotes[x] does not become negative
as this might mess up future key events.
As libogg, libsndfile & friends do not seem to have an UTF8-compatible
implementation on Windows we have to pass the filename as local 8 bit
encoding in order to make the file being read properly.
Closes#2952858.
We must not use "recover.mmp" as regular filename after we recovered
the sesion from it as this causes following save cycles to go into
the recovery file. Instead load the recovery file via
song::createNewProjectFromTemplate() so the used will be asked for
a filename when saving the recovered project the first time.
Closes#3294122.
There has been a problem UTF-8 characters in the configuration file
since 2006 (!), as the length of the data to be written was mis-
calculated. We can omit the specification of the data length at all
when just passing a QByteArray object to QFile::write().
Fixes setup dialog appearing each start if one of the configured paths
in the setup dialog contains non-ASCII characters.
Closes#3348920, #3017409, #2812054.
Once I added the SWH LADSPA plugins I just added a small selection of
them in order to improve clarity. However lots of projects use SWH
LADSPA plugins that are not shipped with LMMS and thus can't be
played properly e.g. on Windows. Fix this by adding missing plugins
(except the analog and FM oscillators).
Most of the projects represented LMMS and it's capabilities from a few
years ago. Therefore removed most old projects and added fresh ones from
the sharing platform.
Also started to add licensing information about these files in each
project directory.
As the interface for the "AccessibleName" property might not be available
when Qt was built without accessibility support, use the "WindowTitle"
property instead where appropriate.
Closes#3300101.
We must not process the FX mixer if we notice that currently a pattern
is frozen. Furthermore renamed some state-reading messages of the
pattern class.
Closes#3316495.
Based on the patch by Thorsten Müller provided at #3307037, I continued
the work to display nice indicators for the peak value of the last 1500
ms.
Closes#3307037.
Added tooltips to show the actual value when moving the fader handle.
This works mostly like the same feature we already have for the volume
knobs. Depending on settings the value is shown in a range between
0% to 200% or -inf/-34dBV to 6.02 dBV. Again that's the same as for the
volume knob. Value range could be adjusted easily if necessary.
Closes#3305914.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Testing the last two characters of the filename against "so" is
insufficient as this might cover e.g. ISO files as well. Therefore
explicitely check for ".so".
Thanks to Mikobuntu for the contribution.
Closes#3289932.
It's a very bad idea to autosave while playing as this causes severe
underrun problems. Therefore instead of autosaving, trigger a re-try
timer for 10 seconds.
Closes#3317776.
Now that we updated FLTK we also need to regenerate ZynAddSubFX'
UI source code files using recent Fluid tool. Indentation seems to
have been fixed.
(cherry picked from commit 13d1e38f4b)
Instead of always loading the last auto-saved session (which might end
up in an endless cycle if recover.mmp is faulty or causes a crash) ask
the user whether to do so.
Updated CAPS plugins to version 0.4.5 - changes:
* Narrower plugin added
* fixed 'configure.py' to work with python3
* fixed Sin, Roessler and Lorenz gain smoothing on activation
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Instead of passing an initialized pa_cvolume structure, pass NULL as
recommended by the documentation for pa_stream_connect_playback(). This
fixes the volume erroneously being set to 100% at startup.
Thanks to Thomas Moschny for forwarding the bug report.
* Simplify exciter code. No functional change... I hope!
* Work in progress on rotary speaker. May contain bugs.
* Replace allpass vibrato in Calf Organ with a simulation of scanner vibrato.
* Implement switchable vibrato type.
* Initialise delta members in ramp classes.
The settings for the new attack and decay controls weren't saved and
loaded at all while just the values of all other knobs were saved
(instead automation data, controllers etc.).
Per default do not append the version to the installation directory
anymore as this causes unneccessary problems when not properly
uninstalling an older version. Instead files should be overwritten by
recent ones from now on.
Partially closes#3149779.
There were some issues with the ControllerRackView when closing it
with recent Qt versions. Issue seems to be fixed by not setting a
size constraint policy for the QMdiSubWindow.
Partially closes#3149779.
When creating a new Sf2Player plugin instance, load the default
soundfont. Might decrease performance a little bit when loading projects
which make use of many other soundfonts but for the sake of improved
usability we should accept this.
Partially closes#3149779.
When there's no BB track but a track is added to the BB editor,
automatically create a BB track so that the user doesn't get confused
by new empty track (not even showing clickable beats).
Partially closes#3149779.
The decay knob didn't actually do anything before. Now it's useful
together with newly introduced attack knob. One can do much better
sidechaining now without disturbing artifacts due to too responsive
volume changes.
(cherry picked from commit 9615ceabd5)
Using the -nostartfiles linker flag makes the CMT LADSPA plugin
library not being linked against neccessary libraries on recent Linux
systems. Therefore remove it.
every time auto-save ran, it would change the current project to
"recover.mmp". Now it doesn't do this because Song has
guiSaveProject(), guiSaveProjectAs(), and saveProjectFile().
(the latter is used for auto-save)
(cherry picked from commit 953522f34a)
auto-save time is not configurable yet. saves "recover.mmp" to
WORKING_DIR every 60 seconds. Deletes recover.mmp on successful
close of LMMS. If recover.mmp is found upon start, it loads that
project.
(cherry picked from comit f73ccadc17)