Commit Graph

711 Commits

Author SHA1 Message Date
Tobias Doerffel
60017ae6e3 RemoteVstPlugin: decreased locking overhead in getParameterDump() 2012-12-03 00:07:56 +01:00
Tobias Doerffel
890a8a4ba9 RemoteVstPlugin: new method pluginDispatchNoLocking() 2012-12-03 00:07:32 +01:00
Tobias Doerffel
f28601db5d RemoteVstPlugin: less verbose debug message 2012-12-02 22:09:28 +01:00
Tobias Doerffel
5f298c0c48 RemoteVstPlugin: coding style fixes 2012-12-02 22:09:15 +01:00
Tobias Doerffel
ef68156c71 RemoteVstPlugin: compile with -O3 as otherwise incorrect code is generated
There seems to be a bug in current MinGW GCC which leads to incorrect
code (crash for no obvious reason) in RemoteVstPlugin process.
2012-12-02 22:09:06 +01:00
Tobias Doerffel
2cac30f495 RemoteVstPlugin: use size_t for loop index to fix compiler warning 2012-12-02 19:01:37 +01:00
Tobias Doerffel
c4e29da412 RemoteVstPlugin: fixed out-of-bound array access 2012-12-02 19:01:09 +01:00
Tobias Doerffel
40a92d8417 FlpImport/unrtf: renamed malloc.h to ur_malloc.h for not conflicting with system headers 2012-12-02 19:00:06 +01:00
Tobias Doerffel
6817631c91 RemoteVstPlugin: more locking, range checking etc. 2012-11-26 20:49:31 +01:00
Tobias Doerffel
e43f34914f RemoteVstPlugin: renamed presetName() to programName() 2012-11-26 20:23:41 +01:00
Tobias Doerffel
bdaedcdf86 VstPlugin, RemoteVstPlugin: update program name via new idle update messages
Introduced new idle update messages for exchanging data periodically but
not inferring audio processing.
2012-11-26 20:16:06 +01:00
Tobias Doerffel
9d610e5108 RemoteVstPlugin: use pluginDispatch() everywhere for thread safety
Calling plugin dispatcher without lock is potentially dangerous.
2012-11-26 20:00:55 +01:00
Tobias Doerffel
0d80f0c569 VstPlugin, RemoteVstPlugin: save/restore current program of VST plugin
Not all plugins save current program in their chunk (or do not restore
it properly). We therefore have to save and restore the current program
manually.

Closes #3581879.
2012-11-26 19:30:26 +01:00
Tobias Doerffel
56b07e29c2 RemoteVstPlugin: send updates of current program name if changed
Send current program name back to host if current program has changed.
2012-11-26 19:18:20 +01:00
Tobias Doerffel
1b7ae1f7a9 RemotePlugin, VstPlugin: reorganized and partly rewrote program/preset related functions
The code for managing programs/presets of RemotePlugin instances was
very confusing, mainly within the VstPlugin and RemoteVstPlugin class.
I therefore started to reorganize and rewrite functions.
2012-11-26 19:18:07 +01:00
Tobias Doerffel
3be675ac7b Vestige: send NoteOff events for all possible MIDI keys
In VestigeInstrumentView::noteOffAll() do not only send MIDI NoteOff
events for all LMMS keys but for the whole range of MIDI keys.
2012-11-11 23:40:48 +01:00
Tobias Doerffel
3842cb3d61 RemoteVstPlugin: fixed too short arrays for preset names
The dimension of preset name arrays was too small. Fixed this
by raising it from 30 to 64 characters.
2012-11-11 23:13:01 +01:00
Tobias Doerffel
3a1c117a37 CMakeLists: make fftw3 a requirement and not optional anymore
We have too many components in LMMS relying on FFTW3. Building LMMS
without them cripples LMMS' functionality substantially, so simply
make fftw3 a requirement.

Closes #3495736.
2012-11-11 22:42:04 +01:00
NoiseByNorthwest
d448e6743d Ergonomic enhancements for AudioFileProcessor plugin (interactive wave view).
This patch includes:
* sampleBuffer::visualise(): add possibility to specified a range to visualize instead of the whole sample
* add sampleBuffer::sampleRate() and sampleBuffer::sampleLength() getters
* definition of AudioFileProcessorWaveView and AudioFileProcessorWaveView::knob classes for AudioFileProcessor plugin
* knob::getValue() specified “virtual” to allow redefinition in child class  AudioFileProcessorWaveView::knob
* delete audioFileKnob class (made obsolete by AudioFileProcessorWaveView::knob)
* add audioFileProcessor::isPlaying() signal, which is emitted in audioFileProcessor::playNote
* change type of AudioFileProcessorView::m_startKnob and AudioFileProcessorView::m_endKnob (AudioFileProcessorWaveView::knob instead of audioFileKnob)
* replace AudioFileProcessorView::m_graph (QPixmap) by AudioFileProcessorView::m_waveView (AudioFileProcessorWaveView)

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-10-27 22:32:09 +02:00
Tobias Doerffel
370ff26c2b LocalZynAddSubFx: added missing header include
ZASF fails to build with GCC 4.7 due to missing header include.

Thanks to Alexander Liebendorfer for pointing out the issue.
2012-10-27 22:01:08 +02:00
Tobias Doerffel
8b66dfc860 ZynAddSubFX: fixed possible buffer overflow
bankdir could be overflowed in the strncat function since the length
limit is not correctly specified.

Closes #3510466.
2012-05-20 18:55:30 +02:00
Tobias Doerffel
60b93e331e ZynAddSAubFX Microtonal: Fixing formatting of detune values
- Fixes bug that prints values like "4.0123" as "4.123"
(cherry picked from commit 5a1fa4f3c522f2f438e052273a544091133bb0eb)
2012-02-02 22:40:03 +01:00
Tobias Doerffel
59da243fed ZynAddSubFX: Pruning code from static analysis
Static analysis performed with cppcheck and clang
(cherry picked from commit 7540c6b46e2e6158a38464aeb9a8b35fefc3c9a9)
2012-02-02 22:28:44 +01:00
Tobias Doerffel
376f11a6c0 ZynAddSubFX: Env: fixing envelope scaling
Fixing bug introduced in 56d7e2e6ec
2012-02-02 22:21:50 +01:00
Tobias Doerffel
88d0c59903 CALF: revert upstream commit 460642bfae534679b4094e6887714828c90d8172
Upstream commit 460642bfae534679b4094e6887714828c90d8172 removes LADSPA
support from CALF which definitely is not desired for LMMS. Therefore
simply revert it in our sources.
2012-02-02 21:59:45 +01:00
Tobias Doerffel
c1db55c56a CALF: updated up to commit 657b36073cae77d9f0e191a7f09b6b8d2099aade 2012-02-02 21:45:36 +01:00
Tobias Doerffel
6eb708ccee VeSTige/VstEffectControlDialog: fixed spelling error
Fixed minor spelling error.
2012-02-02 20:55:38 +01:00
Tobias Doerffel
2e7e09fd6b ZynAddSubFX: workaround for bug in Win64 GCC
When building LMMS with recent stable versions of GCC it generates
wrong code for the implicit REALTYPE specialization of the template
method stringFrom<T>() (problem in std::stringstream implementation).
By writing a custom template specialization which uses sprintf() the
bug can be circumvented.
2012-02-02 20:21:03 +01:00
Tobias Doerffel
03fcc1b5fc LVSL/RemoteVstPlugin: use big enough buffer when gathering preset names
The RemoteVstPlugin process crashed for plugins with lots of presets
as there was an overflow of the presName buffer. Chosing a bigger buffer
size fixes the problem.

Additionally initialize len variable in loadChunkFromPresetFile().
2012-02-01 23:26:28 +01:00
Tobias Doerffel
1a09828ad4 SID instrument plugin: fixed missing save/load for coarseModels
The coarseModel instances were not saved/loaded. Thanks to Mikobuntu for
pointing out the issue and providing a solution!

Closes #3394109.
2012-01-29 23:52:42 +01:00
Tobias Doerffel
cacc0d6c3e Updated SWH plugins and added missing hermes_filter plugin
There were minor updates in SWH Git repository. Incorporated bug fixes
and added missing hermes_filter plugin.
2012-01-13 22:25:44 +01:00
Tobias Doerffel
0bcd267063 CALF: updated up to commit 022dbc37d9d4bf1af2f33a288844156bdc13d27f 2012-01-13 21:53:25 +01:00
Tobias Doerffel
f4976adcd7 VstEffect: removed unused slot declaration
The openPlugin() slot in VstEffectControls class is not implemented,
therefore do not declare it as otherwise MOC references it.
2011-11-23 13:00:36 +01:00
quadro
d57b20ff2f LVSL: improved preset support
Fixed various bugs and crashes.
2011-11-11 23:58:37 +01:00
Tobias Doerffel
63c1928f57 LVSL: fixed Win32 and Win64 build
Some minor tweaks were neccessary in order to properly build the updated
LVSL on Win32 and Win64.
2011-10-24 23:50:38 +02:00
quadro
4d645b335d LVSL: added support for (automatable) VST controls and VST presets
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>
2011-10-22 20:17:58 +02:00
Tobias Doerffel
c6051e76b4 ZynAddSubFX: fix crash in Echo effect when changing samplerate
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.
2011-07-10 01:01:42 +02:00
Tobias Doerffel
76a4d88fe4 Added missing plugins from the SWH LADSPA plugin collection
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).
2011-07-02 12:47:49 +02:00
Tobias Doerffel
e338b34faf Widgets classes: use "WindowTitle" property instead of "AccessibleName"
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.
2011-06-27 20:43:09 +02:00
Tobias Doerffel
34e61f0ea3 ZynAddSubFX: regenerated UI source code files with recent Fluid (2)
Forgot to include one file in commit 13d1e38f4b.
(cherry picked from commit 99113677c4)
2011-06-16 00:21:38 +02:00
Tobias Doerffel
6f00e6d6f3 ZynAddSubFX: regenerated UI source code files with recent Fluid
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)
2011-06-16 00:13:36 +02:00
Tobias Doerffel
b99d63eaf0 ZynAddSubFX/FLTK: updated to SVN revision 8805
Updated FLTK to SVN revision 8805 of branch-1.3.
(cherry picked from commit c2c315e11f)
2011-06-16 00:13:31 +02:00
Tobias Doerffel
56d7e2e6ec ZynAddSubFX: minor fixes from upstream
* Fixing Envelopes not going to zero
  * FLTK1.3: Applying patch to force code generation
(cherry picked from commit a1006f7a32)
2011-06-16 00:13:23 +02:00
Krzysztof Foltman
bd84a2ee64 CALF/Monosynth: only set frequency-related values in params_changed if note is played. 2011-06-06 18:45:38 +02:00
Tobias Doerffel
2721fbae95 CALF: updated up to commit b22ca910642433a4507f33ec08bcbf8e6d02e3ff
* Fix broken band issue in EQ plugins.
  * Persist extension 0.2
2011-04-25 11:35:00 +02:00
Tobias Doerffel
d98acff3bb CAPS: updated to version 0.4.5
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>
2011-04-05 14:33:08 +02:00
Tobias Doerffel
8d61675e3e CALF: updated up to commit 3889df5d1448faf5078b0a2bdd4c220823b82bf9
* 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.
2011-01-26 11:11:45 +01:00
Tobias Doerffel
15fabc6a17 LB302: fixed typo
It has to be "imitation" instead of "immitation". Thanks to Capdan for
pointing this out.

Closes #3158102.
2011-01-24 16:35:46 +01:00
Tobias Doerffel
ec9658d205 PeakControllerEffect: properly save and load all settings
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.).
2011-01-24 16:02:50 +01:00
Tobias Doerffel
510f87bfcc Sf2Player: load default soundfont upon instantiation
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.
2011-01-23 23:19:31 +01:00