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.).
(cherry picked from commit ec9658d205)
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.
(cherry picked from commit 470fb87ae1)
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.
(cherry picked from commit f67e8e0af7)
We must not set the Qt::WA_OpaquePaintEvent attribute when painting
semi-transparent a drop shadow for the ControllerView.
(cherry picked from commit b8ad5bf025)
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.
(cherry picked from commit 510f87bfcc)
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.
(cherry picked from commit 4cad9517aa)
Using the -nostartfiles linker flag makes the CMT LADSPA plugin
library not being linked against neccessary libraries on recent Linux
systems. Therefore remove it.
(cherry picked from commit 60970495b0)
In order to ease debugging of problems with the LADSPA library loader
print QLibrary::errorString() if loading a library fails.
(cherry picked from commit 4851839327)
Instead of flipping to next page when the play position marker reaches
the right edge, scroll to next page smoothly using the QTimeLine class.
Closes#3144318.
(cherry picked from commit ea94e6aa32)
When just opening a song in order to listen to it, it's very annyoing to
manually bring up the song editor each time, therefore do it
automatically.
(cherry picked from commit 6be555d61a)
There were many changes in the CALF repository. Cherry picking all of
them individually would be lot's of work, that's why I just applied
a diff made up from the following commits:
* Add ChangeLog entries of the remaining bugfix 0.0.18 releases.
* First attempt to update ChangeLog with the changes from last 2 years.
* Fluidsynth: set sample rate on a synth instance.
* Monosynth: allow modulation matrix when configure is available.
* Improve LADISH level 1 integration. Doxygenize host_session a little bit.
* Avoid starting LASH just to display the help text.
* Reuse instance IDs of removed plugins.
* Don't crash on failure of the save operation.
* Remove by pointer, not by position - better for rearranged lists.
* Mark the reorder function as experimental. Print new plugin order to stdout.
* Add channel number to internal MIDI API. Fix stack overflow in Calf Organ.
* Ignore data type for now, to help diagnosing restore issue with Ardour.
When packaging the ZynAddSubFxCore library (Windows builds), there's no
need for including the DLL import library, so skip it. Furthermore make
sure to strip the ZynAddSubFxCore library which decreases its size from
8 MB to about 1 MB.
I updated the MinGW cross compiling packages to come alogn with
Qt 4.7 and a revised build architecture. Qt's devel tools such as
qmake, moc & friends are now built natively and allow using them like
native Qt installations. This means there's less to hardcode in the
MinGWCrossCompile file.
(cherry picked from commit aed2d69ff8)
The PortAudio backend lay down broken for quite a while. However as it
offers much better realtime capabilities on Windows compared to SDL, I
started to resurrect it, removed support for PortAudio < 1.9 and fixed
various bugs and crashes.
(cherry picked from commit 4641fcc6d3)
When changing an InstrumentTrack's base note while NotePlayHandles are
active, they will send a wrong MidiNoteOff event due to the masterKey()
translation in InstrumentTrack::processOutEvent().
Therefore in NotePlayHandle remember the original base note value and
add the difference between original and current base note to the value
returned by NotePlayHandle::key(). Fixes hanging notes in MIDI-based
instruments such as ZynAddSubFX.
Furthermore some coding style improvements.
Closes#3146975.
(cherry picked from commit a9717c0cc3)
* win64-vst:
VST support layer: fixed non-working 64 bit VST plugins
VST support layer: added 32 bit VST plugin support for Win64
Win64Toolchain: added 32 bit compiler configuration
ZynAddSubFX: use new RemotePlugin::init() method
RemotePlugin: added support for running remote process multiple times
When instantiating the SpectrumAnalyzer plugin more than once the
processed data somehow got invalid and caused all but the first
SpectrumAnalyzer instance not to work at all. This can be fixed easily
by clearing m_buffer in SpectrumAnalyzer's constructor.
Closes#3137877.
LMMS' native Win64 VST host capabilities were broken due to wrong data
types in some places. On 32 bit there's no difference between a pointer
and an int but on x64 there is, therefore fix data types where
approriate. Makes 64 bit VST DLLs work in LMMS/Win64.
Until now it was impossible to load classical 32 bit VST plugins with
the Win64 version of LMMS. This issue has been addressed by building a
32 bit version of the RemoteVstPlugin executable and launch it when
loading a 32 bit VST plugin. This also requires to ship 32 bit QtCore
and zlib DLLs with the Win64 package.
There might be situations where we want to try to run multiple different
remote processes. Therefore introduced RemotePlugin::init(...) which can
be called multiple times even if previous calls failed.
* calf-updates:
Reimplement modulation matrix (and tables in general) using configure variables. Slow and most likely incomplete, but a good start.
Add extra checks to detect when param_count != param array size - 1.
Fix another install-related crash, this time due to invalid params in fluidsynth. (cherry picked from commit 034e3a47cd40eb6bb7d221274fda2a5c1c79f42f)
Fix the infamous crash on install. (cherry picked from commit f0568e2f8a4c7d0003cc5a15e300aa2ebb3f93cb)
The range given in the comment wasn't really correct. (cherry picked from commit 292cdaa81dab7e7d948f597041cb86d70dc5ff92)
Use symmetric dB range for EQ plugins.
Fix a few bugs in compilation of limited versions (DSSI without GUI, no JACK host).
Initialise the vintage delay properly... hopefully this time. (cherry picked from commit c96ff1d680148cc877fab3b641d666068eea06aa)
Unbreak Monosynth by changing listview to use a 'key' attribute instead of 'param'.
The table-edit-iface names are keys of configure variables, not real
parameters (control ports), so using the 'param' is basically incorrect.
(cherry picked from commit ab96b105e50d4de1ea423941dbc12208a997a78e)
* calf-updates:
Make meters in compressor/EQ/distortion modules sample-rate-dependent. (cherry picked from commit 47a87c696223625d31cf106e12ed08cd3293be14)
Clicking the "Manage locations" button now opens an instance of the new
ManageResourceLocationsDialog.
Furthermore renamed ResourceBrowser::manageDirectories() to
ResourceBrowser::manageLocations().