Most files and most of the core classes and their methods have been
renamed to match new coding style conventions:
391 files changed, 25400 insertions(+), 25598 deletions(-)
Furthermore splitted some files where model and view classes were
declared or implemented together in the same file.
Should be tested thoroughly as I might have missed renaming some virtual
methods or SIGNAL/SLOT parameters.
(cherry picked from commit 8c9a9dd14c)
Passing -nw as option for MOC to QT4_WRAP_CPP macro silences warnings
about non-MOCable headers (which confused a lots of users).
(cherry picked from commit f7af62eab4)
If a certain step was set for a model, the fitted value (i.e. value
divided by step, rounded and multiplied with step again) could become
smaller than minValue or greater than maxValue. Therefore explicitely
check those cases after performing the described calculation.
Closes#2840202.
(cherry picked from commit b5d9fab944)
After (exactly) 5 years of silence, there's a new relase of TAP LADSPA
plugins. It fixes issues on 64 bit machines, uninitialised variables
and denormal issues.
(cherry picked from commit 6a9e45f733)
Most of the stuff that was in main(...) function before directly is
related to creating a new instance of ZynAddSubFX master class,
therefore moved initialization and shutdown code into constructor
and destructor of RemoteZynAddSubFX class. Should have no functional
impact.
The shutdown code was extended to properly destroy the ZynAddSubFX
instance.
(cherry picked from commit 9c5e04ba73)
Per default child processes inherit all file descriptors of their
parent process. This applied for file descriptors pointing to sound
devices as well. Reopening sound devices while e.g. a ZynAddSubFX
process was running always failed due to this "feature".
By manually setting the FD_CLOEXEC flag for the sound device file
descriptors they do not get inherited by child processes anymore.
(cherry picked from commit 80f101cec6)
So far we ignored all events other than MidiNoteOn, MidiNoteOff and
MidiPitchBend. By also processing MidiControlChange events one can
control some basic parameters of ZynAddSubFX via MIDI now.
(cherry picked from commit 49ebb835af)
When opening up the ControllerConnectionDialog by default auto detect
is enabled and all MIDI input devices are selected. Upon the first
event all devices but the one the event came from get unchecked. This
eases the process of assigning MIDI controls to software controls.
(cherry picked from commit 27f5d20e05)
Added functionality to query the name of the source port of a MidiEvent
by calling MidiClient::sourcePortName( const MidiEvent & ).
(cherry picked from commit 5ec96a9483)
The MidiClient::writablePorts() method was not overloaded properly in
MidiWinMM implementation due to a typo. This should fix list of output
devices being empty on win32.
(cherry picked from commit 40c56de898)
A port name is constructed from snd_seq_* structures at various places,
therefore separate it into a static helper function. This avoids
redundancy and eases maintainability.
(cherry picked from commit bfe90a8ade)
Use poll() with a finite timeout so we can quit the thread properly
without manually writing stuff into the pipe.
Check for pending events at the beginning of the loop so we can't end up
in an endless loop.
Furthermore check return value of snd_seq_event_input() and get out of
loop if it indicates an error.
(cherry picked from commit 9d811bf080)
Use QString::isEmpty() rather than comparing against an empty string.
Furthermore use QStrin::toUtf8() instead of QString::toAscii() for
retrieving name of a MidiPort.
(cherry picked from commit 295b332650)
If libraries are being used from somewhere other than
/usr/include or /usr/local/include, building vst_remote would fail.
Now it checks CMAKE_INSTALL_PREFIX/include.
(cherry picked from commit 7d0c1ef6c2)
If libraries are being used from somewhere other than
/usr/include or /usr/local/include, building plugins would fail.
Now it checks CMAKE_INSTALL_PREFIX/include.
(cherry picked from commit a86ca968b7)
The audio_jack driver currently treats the jack transport status as a
flag for whether or not to output audio. This is incorrect and
unintended usage of jack transport. The attached patch simply removes
all references to jack transport from the driver, so that LMMS will
always be able to produce audio.
Closes#2816029.
(cherry picked from commit 1fe0c689b0)
A break directive was missing in MidiWinMM::handleInputEvent(), leading
to inappropriate calls to qWarning() on pitch bend.
(cherry picked from commit 58023cf2cf)
As per popular demand I added CALF LADSPA plugins to be shipped with
LMMS. After some minor modifications the plugins compile and work on
win32 platform too.
(cherry picked from commit 35ca0aab69)
Added a range check for channel parameter when adding notes. This fixes
a crash when for example importing the project posted on lmms-devel
by Andew Kelley lately.
(cherry picked from commit ee9d88e2d4)
There have been some changes to strings in the program which weren't
translated to German lately. Furthermore improved existing
translations and fixed mis-spellings.
Added cheese_enthusiast's <bdreed@woh.rr.com> new, better-looking piano keys. Also includes pressed piano-roll keys.
(cherry picked from commit 367d8360fc)
Apparently I didn't compile the latest version of my changes and there
was a lurking error. This has been fixed.
(cherry picked from commit a9a3c796f7)
Per request, make the Controller-rack vertically sizable. This is also
part of our effort to slowly deprecate old fixed-positioning code in
favor of layouts.
(cherry picked from commit bb76ba5121)
Switching to HQ mode in standard workflow doesn't make much sense and
is likely to cause problems. Therefore remove the HQ mode button for
for time being. One can still export projects in high(er) quality.
(cherry picked from commit d66c71ebf8)
MINGW_PREFIX is a better variable name than CC_PREFIX (cross copmling
prefix), therefore rename it. Furthermore define QT_HEADERS_DIR due to
changed logic in CMake's FindQt4 module.
(cherry picked from commit 94ebcf30bc)
Updated FLTK to SVN revision 6841 of branch-1.3:
- Fixed glibc 2.10 compiler problems (Fedora 11 and others)
with scandir() and strchr() (STR #2222)
- Fl_Scroll mods for global scrollbar size control
- various other minor stuff (see SVN log)
(cherry picked from commit 803fd68a56)
Do not crash if no fluid_voice could be determined in
sf2Instrument::playNote() (which for example happens if no soundfont
is loaded). Furthermore protect the FluidSynth API calls in the
envelope and panning code with global synth mutex.
(cherry picked from commit 144f0c6c80)
Finally there's proper support for panning and volume envelopes. This
is achieved by changing parameters of individual voices (one voice is
being created for each note). The new code also replaces the old
panning hacks which played notes on different channels and changed
panning of individual channels.
Closes#2010818.
(cherry picked from commit 4baf459da2)
stable-0.4 branch: forward-ported various trivial changes from master.
There's no need to send a MidiNotePanning event twice in
PianoRoll::testPlayNote(). Removed the duplicate function call.
(cherry picked from commit 4cdcd1a670)
Casting to panning_t in calculation in panningToMidi() leads to
integer overflows and thus to miscalculations. This resulted for
example in wrong panning during note preview when editing panning
of a note in PianoRoll. Casting to int instead fixes the issue.
(cherry picked from commit 6e3e1513c7)
* cleaned up code and improved coding style
* removed old SINGLE_SOURCE_COMPILE macro relicts
* use QString::toUtf8() instead of QString::toAscii() wherever possible
(cherry picked from commit 0bb54199b0)
The macro logic for defining the SPINLOCK_PAUSE macro tested against
LMMS_HOST_X86_64 twice instead of testing against LMMS_HOST_X86_64 and
LMMS_HOST_X86. This caused the SPINLOCK_PAUSE macro not being set on
x86.
(cherry picked from commit bf8f823751)
Updated CAPS plugins to version 0.4.3 - changes:
* basics.h cleanup / comments
* minor Makefile cleanup
* comment cosmetics
* Eq and Eq2x2 per-band Q changed to 1.414 (= 1 octave)
* Eq lowest band default value fixed to read 0
* Niclas' fix for the bessel function implemented
* uninitialised plugin states eliminated thanks to Damon
* linker options for OSX added to the Makefile
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit e0df82056c)
QString::toStdString() is not aware of locale specific characters (it
just converts to ASCII). Therefore added new macro QSTR_TO_STDSTR which
converts a QString to std::string with UTF8 characters.
Use this new macro in LMMS VST Support Layer and ZynAddSubFX plugin.
This fixes for example VST plugins not being loaded when the path to
the DLL contains non-ASCII (e.g. cyrillic) characters.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit f3e13c4427)
Setting time signatures 1/16+ lead to divisions by zero in two places.
Fixed this by adding according qMax() call (closes#2818125).
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit cb72bf2260)
Commit 4ad5add745 introduced a typo which
lead to compilation failure. This commit fixes it.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit c4c94985a6)
Added a typedef for VstMidiEventList so actual type does not have
to be hard-coded each time in the code.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
(cherry picked from commit 4ad5add745)