We only need to display numbers in LCD style, therefore use new LcdWidget
class instead of LcdSpinBox.
Fixes display problems introduced in commit f568a81c7a.
Thanks to Vesa for pointing out this issue.
Besides discrete automation it's now possible to setup interpolation
modes such as linear and cubic-hermite.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
Path to VST plugin will be stored as relative, if plugin is opened
from default VST plugin path. Should remain compatible with project saves
from old releases or vice versa.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
We now also maintain information about playback time in order to display
it later.
Most of the code provided by Rubén Ibarra Pastor <pastorrub/at/msn/dot/com>.
Further improvements by Raine M. Ekman <raine/at/iki/dot/fi>.
The ALSA sequencer interface is not reentrant and thus we can't queue
MIDI events for output from different threads (which happens with multicore
rendering as processOutEvent() is being called by individual note play
handles). We therefore have to care that we don't call the ALSA sequencer
functions concurrently.
Thanks to Benjamin Kusch for providing a testcase.
Closes#531.
As controller connections are not fully restored via
AutomatableModel::loadSettings(), a call to
ControllerConnection::finalizeConnections() is neccessary to do so.
Normally this function is called at the end when loading a project but
when the user just toggles ZASF's UI settings are saved/loaded without
finalizing connections which results in connected knobs which are not
reacting to the controller they are connected to.
Closes#544.
As libsndfile does 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 written properly.
Closes#530.
When attaching a control object to an AutomationPattern initialize the
value at position 0 with the current value of the control object.
This is similiar to the behaviour found in LMMS < 0.4.14 and has been
reintroduced as requested by some users.
Closes#535.
AudioFileProcessorWaveView::slideSampleByFrames() gets called before the
knobs are created and/or after they are destroyed if the sample is
reversed. Added checks for nonexistant knobs.
Closes Patch #41 and Bug #525.
In commit a3abcdb2e0 we introduced
multitimbral MIDI support. However the new code path causes the mixer
not being unlocked at exit and thus causes a freeze of LMMS.
Thanks to nuio for pointing out this issue and providing a patch.
Closes#532.
This is in addition to songs. Simply use multimediaProject. Don't
screw around with Song(). Also, needed to move creation of xml
preamble (processing instruction) due to duplicate entry when
doing a load/save.
Conflicts:
src/core/main.cpp