Commit Graph

744 Commits

Author SHA1 Message Date
Tobias Doerffel
5f33f1ea77 RemoteVstPlugin: silence compiler warning
Initialize variable of type DWORD with 0 instead of NULL.
2010-07-25 11:34:53 +02:00
Tobias Doerffel
7b0b932441 ZynAddSubFX: on Linux link against libfontconfig
FLTK requires libfontconfig on Linux, therefore link against it.
2010-07-25 01:13:28 +02:00
Krzysztof Foltman
2eba055de0 Fix incorrect plugin class (spotted by Luis Garrido).
It's SimulatorPlugin, not SimulationPlugin.
(cherry picked from commit d971297ebebd9faf6c2640fdbecdfc553cd8407e)
2010-07-24 23:42:36 +02:00
Krzysztof Foltman
e551929196 Add windowing-based antialiasing to hard sync in Monosynth; update last stretch even if synth is idle.
(cherry picked from commit d64a0487d88f6730ef90dd6d79b892ad4a114138)
2010-07-24 23:41:54 +02:00
Tobias Doerffel
7fd04e0769 Plugins: export PluginDescriptors and lmms_plugin_main function
Various plugins were missing the PLUGIN_EXPORT declaration with their
PluginDescriptor instantiations and lmms_plugin_main implementation
which made some plugins not show up with latest Win32 build.
(cherry picked from commit f85898ba6e)
2010-07-24 22:54:00 +02:00
Tobias Doerffel
ce8041b9e3 FLP import plugin: explicitely link against libzip
The improved FLP import plugin requires libzip and we can't rely on
the LMMS binary being linked against it, therefore link against it
explicitely.
2010-07-21 20:08:53 +02:00
Tobias Doerffel
456abc4cde ZynAddSubFx: MinGW64-specific fixes
Some minor modifications were neccessary in order to build LMMS with
the latest MinGW64 environment.
2010-06-16 23:12:53 +02:00
Tobias Doerffel
46e9bdcf76 Merge branch 'calf-updates'
* calf-updates:
  CALF: minor LMMS-specific updates
2010-06-16 23:05:17 +02:00
Tobias Doerffel
4393ec8281 CALF: minor LMMS-specific updates
Silence a compiler warning introduced by custom changes and fix a
possible compile failure by including another header file in a header
file that we cleared before.
2010-06-16 23:01:58 +02:00
Janne Sinisalo
401652a100 Newer ZynAddSubFX plugin tab background
Replaced the background for ZynAddSubFX plugin tab in the instrument window again.
2010-06-03 19:58:51 +03:00
Janne Sinisalo
45fc5c6ac7 New ZynAddSubFX plugin tab background
Replaced the background for ZynAddSubFX plugin tab in the instrument window.
2010-06-03 18:30:53 +03:00
Krzysztof Foltman
6ebc7c80d1 Cleanups/bugfixes in Monosynth.
(cherry picked from commit 404e1a0861e9b7a79f3b0175f40b427c06945adc)
2010-05-26 12:36:59 +02:00
Tobias Doerffel
33807aeb43 CALF: Added missing config.h
Now that we're not removing the config.h-inclusions from upstream's
source files we have to provide a dummy config.h. At the same time this
allows us to move macro definitions from CMakeLists.txt to config.h.
2010-05-22 01:28:57 +02:00
Tobias Doerffel
469ca939cf CALF: rebased to CALF master branch
There have been massive changes in CALF's master branch. It makes no
sense to manually cherry-pick all these commits. Therefore rebased the
CALF codebase in LMMS to the one found in CALF master branch.
2010-05-21 17:07:03 +02:00
Tobias Doerffel
96a961bd8b Merge branch 'master' into calf-updates 2010-05-21 16:52:59 +02:00
Tobias Doerffel
bbb91a923c Moved CALF headers to proper location
The directory layout for some reason was not the same as with
upstream CALF, therefore move the includes to where they belong.
2010-05-21 16:17:56 +02:00
Tobias Doerffel
ace2266529 LadspaEffect/Controls: fixed non-working global channel link checkbox
The global channel link checkbox did not work as expected as of the
M/V-split during 0.3.x -> 0.4.x development. Connected the slot
responsible for updating individual ports after toggling checkbox and
fixed the logic behind.

Closes #2964800.
2010-05-21 01:04:10 +02:00
Tobias Doerffel
22489ae321 Sf2Player: disable per-note-panning support for the time being
The per-note-panning support is broken (not sure whether this is a bug
in FluidSynth or our code) and leads to improperly panned sounds all
the time - even with all notes being panned to center. Thus disable it
until we have a proper fix for it.
2010-05-17 23:27:42 +02:00
Tobias Doerffel
70b80efec1 SpectrumAnalyzer: skip processing if UI is not visible
There's currently no need for analyzing the sound data if
SpectrumAnalyzer's view is not visible. This saves some CPU time
if SpectrumAnalyzer's view is not shown.
2010-05-17 23:21:58 +02:00
Krzysztof Foltman
527a02d648 Simplify Multiband Compressor code and fix several bugs.
Eliminated some (not all) repetition in the code. Fixed a bug where old value
for Q and separation was taken from the wrong variable. Fixed a bug where
having a band bypassed or muted caused the graph to stop redrawing properly.

(cherry picked from commit 3be583385b0bfb69bb7e52ee7426fe27d515560c)
2010-04-03 13:05:42 +02:00
Krzysztof Foltman
f8cb1120b0 Remove zombie small plugin code.
(cherry picked from commit ed69e7d41246d169ffccdc97cc666b111bdc6710)
2010-04-03 13:04:05 +02:00
Krzysztof Foltman
0ab27d30c3 Remove small plugins together with all the supporting infrastructure.
The small plugins don't really fit into the project and should be moved somewhere
else instead. Unfortunately, I don't have enough time to do it myself, so if
anyone needs them, feel free to make a separate project out of them, or merge
them (if possible, it may be very hard) into some other small plugin library.

(cherry picked from commit e03505a778ac3b8edb7a389a11eae03cbacc79fe)
2010-04-03 13:03:41 +02:00
Krzysztof Foltman
6c59404c32 Add Doxygen documentation for plugin_registry class.
(cherry picked from commit 4c093bf60cc6257232927d907106551293913384)
2010-04-03 12:58:52 +02:00
Krzysztof Foltman
47a46da43d More refactoring.
Make the result of plugin_registry::get_by_uri() const, as no external code
should modify metadata objects.

(cherry picked from commit 2f9ae953b30bc8702d302df58f0c7f1a589a15c3)
2010-04-03 12:58:47 +02:00
Krzysztof Foltman
4a59150d4b General refactoring. Start implementing external GUI.
Constify metadata functions. Constify other functions that really needed
it. Make variables keeping old state mutable for now. Move filter composition
operations into biquad.h. Replace global function get_all_plugins with
a singleton class that returns the same list (as const) or a single plugin
by URI. Add a skeleton implementation of functions in lv2_external_ui
and skeleton UI related functions for external UI.

(cherry picked from commit ae7f7293961a3ea3b194b73ab35886f94e562cd7)
2010-04-03 12:56:49 +02:00
Krzysztof Foltman
f344d4c1fe + LV2: add external UI header (not used for anything yet)
(cherry picked from commit f0719b1e8926595d869936865ba84f60284dd660)
2010-04-03 12:39:31 +02:00
Tobias Doerffel
9fd3dacb67 Fixed spelling errors
Fixed some spelling errors found by Lintian while checking the Debian
package of LMMS. Thanks to Patrick Winnertz for pointing out this issue.
2010-01-25 23:24:42 +01:00
Tobias Doerffel
2d55ef8291 Merge branch 'master' into calf-updates 2010-01-04 00:42:01 +01:00
Tobias Doerffel
1fb803242c CALF: resync source files due to forgotten commits
Probably I forgot to cherry pick one or two commits from CALF Git repo
resulting in a slight diverge of source codes. Resynced the concerned
header files. Fixes the missing Pulsator plugin.
2010-01-04 00:41:31 +01:00
Krzysztof Foltman
059fbab252 + JACK host: implemented Save/Save as...; Open not implemented yet - who could possibly want THAT? 2010-01-04 00:31:58 +01:00
Krzysztof Foltman
c16949e308 + EQ: Fix adding EQ plugin using menu in calfjackhost 2010-01-04 00:30:13 +01:00
Markus Schmidt
9414b90d7b Some changes in style, smaller h/v-scale added 2010-01-04 00:29:28 +01:00
Tobias Doerffel
81cea79c38 Base64: realize decode() as template function
In Base64::decode() we mess around with pointers so it's more type-safe
to realize everything as a template function. This also silences compiler
warning about dereferencing type-punned pointer in Vibed plugin.
2009-12-26 01:06:52 +01:00
Tobias Doerffel
5e711875f5 VeSTige: set VeSTige logo as window icon for plugin GUI subwindow
Up to now the MainWindow's icon was used for VST plugin GUI subwindows.
Improve this a little bit by using the VeSTige logo now.
2009-12-22 00:49:34 +01:00
Tobias Doerffel
bf0f0151d2 Mallets: build properly with Stk 4.4
As of Stk 4.4 all classes and types have been moved to the namespace "stk".
This breaks build of the Mallets plugin. This can be easily fixed by
using the namespace "stk". For compatibility reasons we have to declare
the namespace before, because it did not exist in previous versions.

Closes #2870878.
2009-12-06 23:19:26 +01:00
Tobias Doerffel
5f241e6374 RemoteVstPlugin: allocate buffer for chunk on heap rather than stack
It's not a good idea to allocate the buffer for VST chunk data on the
stack as chunks might become quite big (several megabytes) and thus
could cause a stack overflow. Fix this by using new/delete.
2009-12-06 01:01:27 +01:00
Tobias Doerffel
900b599c2d Merge branch 'master' into calf-updates 2009-12-03 00:18:20 +01:00
Tobias Doerffel
c11c228437 LV2Browser: fixed compilation
I somehow forgot to migrate LV2Browser plugin while reworking Mixer.
Should compile again now.
2009-11-30 01:37:53 +01:00
Tobias Doerffel
0e82b0facc Merge branch 'master' into mixer-new-fifo-arch
Conflicts:
	include/Mixer.h
	src/core/Mixer.cpp
	src/core/audio/AudioPort.cpp
	src/core/main.cpp
2009-11-30 00:50:31 +01:00
Tobias Doerffel
20589f19e4 Mixer: rewrote processing chain of rendered audio buffers
Until now, Mixer not only was responsible for rendering audio buffers
but also managed writing them to audio backend (through a FIFO) and
handled various quality related parameters.

All this functionality has been moved into the new AudioOutputContext
class. It glues together AudioBackend (formerly called AudioDevice),
global quality settings and the Mixer.

The AudioOutputContext class creates a FifoWriter which calls
Mixer::renderNextBuffer() and writes the output into the BufferFifo of
the AudioOutputContext it belongs to. The BufferFifo is read by the
according AudioBackend which belongs to the AudioOutputContext as well.

The AudioOutputContext also handles resampling in case the AudioBackend
wants the buffers in a different samplerate.

During this rewrite the Mixer class and the according source files have
been renamed from "mixer" to "Mixer". This results in small changes
all over LMMS' code base.
2009-11-29 01:46:23 +01:00
Tobias Doerffel
ced0d8ecc6 Merge branch 'master' into fx-mixer-rework 2009-11-26 01:47:38 +01:00
Krzysztof Foltman
871c31aaaa + LADSPA: make plugin IDs unique across Calf plugins, add an install-time check 2009-11-19 11:27:34 +01:00
Krzysztof Foltman
9fcffa9c20 + EQ-5: refactoring to eliminate code duplication, side effect: stereo meters 2009-11-19 11:25:40 +01:00
Krzysztof Foltman
3f2dc5ac7d + EQ-n: shorter names for calfjackhost and others
(cherry picked from commit d8bb94eb5b9e0480f7d3b3c3b44563987d92a5bf)
2009-11-18 03:38:14 +01:00
Krzysztof Foltman
c1b3c6cada + Equalizers: convert lists of per-band parameters using macros (ugly, but effective)
(cherry picked from commit 8e69de1277fae1d5444ca51063995f45894ac07f)
2009-11-15 22:47:11 +01:00
Krzysztof Foltman
c84cdb7728 + EQ-8, EQ-12: reduce copypasta by using a class template
(cherry picked from commit cf7eaaf5c0c7b9bebf5df24024a1680c35a96702)
2009-11-15 22:45:38 +01:00
Tobias Doerffel
be0edab48d + Compatibility: workaround for GStreamer crash bug in Ubuntu 9.10 (thanks to Stefan Kost for diagnosing the problem and suggesting the workaround)
(cherry picked from commit 0c461259575fce7aa2975c2388f646e1232a9791)
2009-11-13 22:19:21 +01:00
Markus Schmidt
610e170445 + Compressor simplification, added optional audio ports
(cherry picked from commit 653033d711b1d497d7d465f5ab9a61133c8653f6)
2009-11-11 23:14:18 +01:00
Markus Schmidt
3a046201ba + Deesser: use correct threshold
(cherry picked from commit beefb7c7f7d8cda828c801942d4daad34d7191ed)
2009-11-10 10:27:58 +01:00
Markus Schmidt
7d92ad6ac7 + Equalizer: remove unused variables
(cherry picked from commit a45db777d5b645a0ce8add2c88d2f3c8940862f3)
2009-11-10 10:27:14 +01:00