Commit Graph

825 Commits

Author SHA1 Message Date
Tobias Doerffel
65c073ec63 Merge branch 'win64-vst'
* win64-vst:
  VST support layer: fixed non-working 64 bit VST plugins
  VST support layer: added 32 bit VST plugin support for Win64
  Win64Toolchain: added 32 bit compiler configuration
  ZynAddSubFX: use new RemotePlugin::init() method
  RemotePlugin: added support for running remote process multiple times
2010-12-26 11:22:39 +01:00
Tobias Doerffel
ab814c03a7 SpectrumAnalyzer: fixed multiple instantiations
When instantiating the SpectrumAnalyzer plugin more than once the
processed data somehow got invalid and caused all but the first
SpectrumAnalyzer instance not to work at all. This can be fixed easily
by clearing m_buffer in SpectrumAnalyzer's constructor.

Closes #3137877.
2010-12-24 00:30:27 +01:00
Tobias Doerffel
be92c67b94 VST support layer: fixed non-working 64 bit VST plugins
LMMS' native Win64 VST host capabilities were broken due to wrong data
types in some places. On 32 bit there's no difference between a pointer
and an int but on x64 there is, therefore fix data types where
approriate. Makes 64 bit VST DLLs work in LMMS/Win64.
2010-12-23 23:50:50 +01:00
Tobias Doerffel
619e86dd1a VST support layer: added 32 bit VST plugin support for Win64
Until now it was impossible to load classical 32 bit VST plugins with
the Win64 version of LMMS. This issue has been addressed by building a
32 bit version of the RemoteVstPlugin executable and launch it when
loading a 32 bit VST plugin. This also requires to ship 32 bit QtCore
and zlib DLLs with the Win64 package.
2010-12-23 22:22:01 +01:00
Tobias Doerffel
c974797954 ZynAddSubFX: use new RemotePlugin::init() method
The old method of passing remote process executable and flags to
constructor is not supported anymore. Use RemotePlugin::init() instead.
2010-12-23 22:22:01 +01:00
Tobias Doerffel
52543d4d8c ZynAddSubFX/FLTK: added missing source file
The Windows builds of FLTK require Fl_GDI_Printer.cxx. Add it here.
(cherry picked from commit e1e36e6831)
2010-12-23 22:18:58 +01:00
Tobias Doerffel
45a671c93a ZynAddSubFX: link against -lws2_32 on Win32
Once more explicit linking is required with recent MinGW toolchains.
(cherry picked from commit 1590dd0d39)
2010-12-06 10:43:51 +01:00
Tobias Doerffel
7eea8c5e88 Build system: fixed relative linker paths warnings
Fixed the warnings about relative linker paths issued by CMake >= 2.8.
(cherry picked from commit 625e70d50a)
2010-12-06 00:01:32 +01:00
Krzysztof Foltman
43e2886e79 Reimplement modulation matrix (and tables in general) using configure variables. Slow and most likely incomplete, but a good start. 2010-12-05 23:07:43 +01:00
Krzysztof Foltman
8053f5adcf Add extra checks to detect when param_count != param array size - 1.
(cherry picked from commit 6c8c91c4e03c3d0bc4b860db293549b45303ebc8)
2010-12-05 22:57:05 +01:00
Krzysztof Foltman
661da8e802 Fix another install-related crash, this time due to invalid params in fluidsynth.
(cherry picked from commit 034e3a47cd40eb6bb7d221274fda2a5c1c79f42f)
2010-12-05 22:56:48 +01:00
Krzysztof Foltman
313c268e20 Fix the infamous crash on install.
(cherry picked from commit f0568e2f8a4c7d0003cc5a15e300aa2ebb3f93cb)
2010-12-05 22:56:42 +01:00
Krzysztof Foltman
262edd6e8a The range given in the comment wasn't really correct.
(cherry picked from commit 292cdaa81dab7e7d948f597041cb86d70dc5ff92)
2010-12-05 22:56:19 +01:00
Krzysztof Foltman
a9a91053d9 Use symmetric dB range for EQ plugins.
(cherry picked from commit cb3e7e001da3e0f43b3da8eed3f9660698f87ca2)
2010-12-05 22:56:03 +01:00
Krzysztof Foltman
90e288976f Fix a few bugs in compilation of limited versions (DSSI without GUI, no JACK host).
(cherry picked from commit c260e0d491235f7332f54ab8eb67105052d8149d)
2010-12-05 22:55:36 +01:00
Krzysztof Foltman
71930a1dbb Initialise the vintage delay properly... hopefully this time.
(cherry picked from commit c96ff1d680148cc877fab3b641d666068eea06aa)
2010-12-05 22:54:59 +01:00
Krzysztof Foltman
b167f83499 Unbreak Monosynth by changing listview to use a 'key' attribute instead of 'param'.
The table-edit-iface names are keys of configure variables, not real
parameters (control ports), so using the 'param' is basically incorrect.
(cherry picked from commit ab96b105e50d4de1ea423941dbc12208a997a78e)
2010-12-05 22:54:42 +01:00
André Hentschel
399cafe894 vst_base: Fix winelib build on x86-64 2010-11-04 16:35:31 -04:00
Krzysztof Foltman
52bccb8702 Make meters in compressor/EQ/distortion modules sample-rate-dependent.
(cherry picked from commit 47a87c696223625d31cf106e12ed08cd3293be14)
2010-10-17 18:16:19 +02:00
Krzysztof Foltman
a572acb35f One table_edit_iface per table; start implementing a bridge class.
(cherry picked from commit 2019ae2d8f9636b7d5cdb0c1fdd5f0d6f2b47e3d)
2010-09-28 23:32:59 +02:00
Krzysztof Foltman
16f24125fd Move the table_edit_iface out of plugin_metadata_iface, where it should have never been in first place.
(cherry picked from commit 6907dc9670eae2313707b142c552a8d9e8b477b5)
2010-09-28 23:31:37 +02:00
Krzysztof Foltman
2ff3c32d7b Fix organ crash in calfjackhost.
(cherry picked from commit b2853103199b3f5f3a5d22271c5d89122514dd53)
2010-09-28 23:30:58 +02:00
Krzysztof Foltman
8ff5a37584 Remove the forgotten leftover references to the old extensions.
(cherry picked from commit deb8b77bdb1e1648a38589b3be3d4d66175b4934)
2010-09-28 23:30:21 +02:00
Krzysztof Foltman
9179bf41ee Replace string port/message context using persist extension.
(cherry picked from commit b8e69ceb2ff7aca549efd939d04447e2f08ad5a8)
2010-09-28 23:25:59 +02:00
Krzysztof Foltman
f40e2c85bc Comment out the barfage when passing configure variables via message_run.
(cherry picked from commit 1e767ff88578011c2f65466d5516953271e2cafd)
2010-09-28 23:23:12 +02:00
Krzysztof Foltman
fbc364e68e Add a crude incomplete implementation of persist extension support.
(cherry picked from commit 3ec11c04799fc08fd408c4ef2350df65f88ccfde)
2010-09-28 23:22:46 +02:00
Krzysztof Foltman
2831eb8c59 More refactoring of the VUs. The goal: to be able to add peak meters without major hassle.
(cherry picked from commit 00ee132cc2ebe3b664c7d5760260d76dda37bf26)
2010-09-28 23:19:29 +02:00
Krzysztof Foltman
4b92af788b Fix handling of very short notes in Monosynth.
(cherry picked from commit 5965d9922a0753e2dce4f743a23b9512be01a7ac)
2010-09-28 23:17:23 +02:00
Tobias Doerffel
342ea2ba05 VstEffectControlDialog: fixed preprocessor macro logic
Fixed preprocessor macro logic that was messed up in commit
fa9e0f762c.
2010-09-02 23:48:10 +02:00
Tobias Doerffel
fa9e0f762c VstEffectControlDialog: workaround for invisible GUI on Linux
For some reaons with recent versions of Qt we can't embed the VST FX
GUI into an existing EffectControlDialog anymore. As a workaround, embed
it into a new subwindow and added an additional show/hide button.

Closes #3028717.
2010-09-02 17:33:48 +02:00
Tobias Doerffel
f05c510f4d ZynAddSubFX: only re-instantiate ZASF if m_hasGUI has changed
Do not re-instantiate ZynAddSubFX if m_hasGUI is different from the
value of the according push button.
2010-09-02 17:19:52 +02:00
Tobias Doerffel
b2cc802528 ZynAddSubFX: save which controllers were modified and restore them
We must not only restore the controller knobs but also send updates
to ZynAddSubFX. However this only applies to knobs that were modified.
Therefore save and remember which knobs this applies for.
2010-09-02 17:12:50 +02:00
Tobias Doerffel
1546b7cec0 ZynAddSubFX: fixed identifier for filter resonance controller
The filter resonance controller erroneously was labeled with something
like "cutoff" which is definitely wrong. Use "resonance" instead.
2010-09-02 16:22:32 +02:00
Tobias Doerffel
eb673c0ad5 SID: improved artwork+logo once more
The first version of mikobuntu's logo had a white semitransparent
background. This has been fixed. Additionally the background artwork
of the SID plugin has been changed as well to include the new logo.
Thanks to pgib for preparing this.
2010-09-02 00:05:33 +02:00
Tobias Doerffel
4e695a4ea8 ZynAddSubFX: properly load preset data if knobs are automated/controlled
Commit 534c4debb5 introduced a regression.
If knobs have a song-global automation or controllers attached, they
save these settings in a sub XML node which confused the ZASF preset
loader which assumed the first child node would always be the ZASF
preset data. Fix this by explicitely searching for an XML element named
"ZynAddSubFX-data".

Closes #3057275.
2010-09-01 23:23:13 +02:00
Tobias Doerffel
56ee4db565 SID: added new logo by mikobuntu
Added a logo remake by mikobuntu. Thanks!
2010-09-01 22:26:12 +02:00
Tobias Doerffel
4763da4daa Mirror Commodore logo on SID instrument (v2)
This is an attempt to improve commit c17bb3ba18. The logo has
been mirrored using ImageMagick which doesn't seem to mess up the 8 bit
alpha channel.
2010-09-01 00:25:04 +02:00
Tobias Doerffel
c560ae4207 Revert "Mirror Commodore logo on SID instrument"
This reverts commit c17bb3ba18.
2010-09-01 00:09:37 +02:00
Paul Giblock
c17bb3ba18 Mirror Commodore logo on SID instrument
Try to stay out of legal trouble.  Not the *best* GIMP work ever, but it
looks pretty good.
2010-08-31 14:09:31 -04:00
Tobias Doerffel
0b7e37ca6a ZynAddSubFX: added LED checkbox to disable forwarding of MIDI CC events
After introducing the control knobs it's not always desired to forward
all MIDI Control Change events to ZynAddSubFX. Therefore added an LED
checkbox which allows to disable forwarding of such events.

Closes #3055332.
2010-08-31 16:40:15 +02:00
Tobias Doerffel
39918f8835 ZynAddSubFX: forward all MIDI events but NoteOn if muted
There's no reason for not forwarding MIDI events such as NoteOff,
ControlChange etc. when muted. Therefore only do not forward NoteOn
when muted.
2010-08-31 15:22:55 +02:00
Paul Nasca
ab2e117ed8 Bugfix extra "for" in adsynth
(cherry picked from commit e6bc35ff98e3f430a4d091aae8f059b7925179f3)
2010-08-31 11:45:59 +02:00
Krzysztof Foltman
1d759dc239 Use generic single VU meter in some dynamics plugins as well.
(cherry picked from commit 50505a2d304555bb3b766c43af5cd1a27de331e2)
2010-08-31 11:40:41 +02:00
Krzysztof Foltman
d22dbc7d70 Refactor metering code out of distortion plugins.
(cherry picked from commit 84d873861da7b4ad205061b00fcc9f73c47140b6)
2010-08-31 11:39:53 +02:00
Krzysztof Foltman
017e382b35 More variable initialisation.
(cherry picked from commit 40bbe048f27fc7190001383f93097127119ee667)
2010-08-31 11:31:16 +02:00
Krzysztof Foltman
9845de9d94 Initialise old-state variables to prevent "stuck" graphs.
(cherry picked from commit 2a795084ee9e73712a4b690b84158cc745ff1d30)
2010-08-31 11:31:06 +02:00
Markus Schmidt
62ba7d676b Add Sidechain Gate, rename Gate to Expander, cleanups etc.
(cherry picked from commit fd70348c38a139e6f90a7a20f833b5eb2b926694)
2010-08-24 09:28:50 +02:00
Tobias Doerffel
32dbda5b33 ZynAddSubFX/QtXmlWrapper: fixed loading of oddly formatted presets
Some ZynAddSubFX presets have one or more leading blank lines which
confuses the QtXml module. Therefore dynamically remove characters from
the beginning of the data until we encounter a '<' character.

Closes #3047560.
2010-08-22 01:00:24 +02:00
Tobias Doerffel
9b280ffb3e Renamed all automation related files and classes to match new coding style
All automation-related files and classes have been renamed to match the
new coding style.
2010-08-16 20:21:18 +02:00
Tobias Doerffel
f4b84a6058 VstPlugin: use guarded pointer for pluginWidget
The pluginWidget of a VstPlugin (i.e. the VST editor) might be destroyed
outside VstPlugin's control resulting in a dangling pointer. This leads
to crashes for example when changing the model of an EffectView where a
VST plugin is attached, i.e. when re-opening a InstrumentTrackWindow of
an InstrumentTrack with a VST effect inside.

This can be fixed easily by using QPointer.

Closes #3045102.
2010-08-15 12:34:10 +02:00