- Additional LMMS_BUILD flag.
- Disallow on plugins -Wl,-no-undefined which triggers undefined references.
- Make sure X11 headers are found.
Lib ossaudio is needed only for OpenBSD
redundant expression removal
simplify condition for detection OS 'kind'
seems the last commit brought an issue on OSx travis test ....
The fix works as follows: until now the method Knob::drawKnob has used
hard coded palette colors to draw the knob lines for the different knob
types. These palette colors are now assigned to the line color property
in Knob::initUi. The method Knob::drawKnob in turn now uses the line
color property for almost all knob types. This means that all knobs
lines will be painted in the same color as before unless that property
is overridden by the stylesheet.
Also removes an unnecessary typedef from QWidget to trackSettingsWidget
in Track.h.
This prevents a race condition with Qt5. A foreach loop makes a copy of its
Qt container, increasing the reference count to the container's internal
data. Qt5 often asserts isDetached(), which requires the reference count to
be <= 1. This assertion fails when the foreach loop increases the reference
count at exactly the wrong moment. Using a range-based for loop prevents an
unnecessary copy from being made and ensures this race condition isn't
triggered.
Removes the knob image knob04.png. This knob corresponded to
knobGreen_17 which was not used anywhere in the code. To be able to
remove the enum value it was necessary to change the knob loading code
in Knob::onKnobNumUpdated. However, the changed implementation is more
explicit and therefore likely better to understand.
Removes some repeated calls to Qt's font layouting by using QStaticText
in FxLine and removing the overridden method ComboBox::sizeHint.
Unifies Mixer::peakValueLeft and Mixer::peakValueRight into
Mixer::getPeakValues so the array is only iterated once.
Commit e919912 changed the behavior of the FX channel swapping code so that
it no longer updated the m_channelIndex member of the swapped channels. This
caused sends/receives of swapped FX channels to move about when a project
was saved and loaded again.
Put every access to m_playHandlesToRemove between lockPlayHandleRemoval() and
unlockPlayHandleRemoval(). Fixes#2610 where a SIGSEGV would occur due to
concurrent access.
The methods NotePlayHandle::index and NotePlayHandle::nphsOfInstrumentTrack
had not yet been brought up-to-date with the new system of attaching child
NotePlayHandles directly to the mixer. This caused strange glitches when
arpeggio was used in sort mode.
Instead, add the NotePlayHandle used for previewing directly to the mixer.
This fixes two preview problems, namely the shared buffer being released
by the NotePlayHandle but still being pulled in by the AudioPort resulting
in distortions, and certain previews being cut off at mouse release even if
a release was set in the envelope.
This fixes a problem where a PresetPreviewPlayHandle would be put in
m_newPlayHandles to be added, then "removed" before it was actually added,
leaving it dangling.