Commit Graph

2693 Commits

Author SHA1 Message Date
Tobias Doerffel
f25b7ef5e4 Build system: removed FindPkgConfig.cmake
Removed FindPkgConfig.cmake as it's part of all even less recent
CMake installations.
(cherry picked from commit a38c762730)
2011-01-02 01:29:44 +01:00
Tobias Doerffel
c296ca6ae3 AudioPortAudio: adapt to AudiBackend/AudioOutputContext API
Things have changed a bit for audio backend implementations in the
master branch. Therefore adapt AudioPortAudio to the new API.
2011-01-02 01:28:34 +01:00
Tobias Doerffel
16c2b767af Audio: Re-enabled PortAudio backend
The PortAudio backend lay down broken for quite a while. However as it
offers much better realtime capabilities on Windows compared to SDL, I
started to resurrect it, removed support for PortAudio < 1.9 and fixed
various bugs and crashes.
(cherry picked from commit 4641fcc6d3)
2011-01-02 01:20:28 +01:00
Tobias Doerffel
7b68713008 NotePlayHandle: send correct MidiNoteOff events if base note changed
When changing an InstrumentTrack's base note while NotePlayHandles are
active, they will send a wrong MidiNoteOff event due to the masterKey()
translation in InstrumentTrack::processOutEvent().

Therefore in NotePlayHandle remember the original base note value and
add the difference between original and current base note to the value
returned by NotePlayHandle::key(). Fixes hanging notes in MIDI-based
instruments such as ZynAddSubFX.

Furthermore some coding style improvements.

Closes #3146975.
(cherry picked from commit a9717c0cc3)
2010-12-31 13:32:51 +01:00
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
394f7ea433 Win64Toolchain: added 32 bit compiler configuration
It might be desirable to compile single modules with a 32 bit compiler.
Added according CMake variables so they can be used easily.
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
39cc1a8212 RemotePlugin: added support for running remote process multiple times
There might be situations where we want to try to run multiple different
remote processes. Therefore introduced RemotePlugin::init(...) which can
be called multiple times even if previous calls failed.
2010-12-23 22:22:01 +01:00
Tobias Doerffel
5143b6ad21 RemotePlugin: fixed compiler warning
Just a minor signed/unsigned int issue.
2010-12-23 22:21:14 +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
f0e7b3a83c Build system: explicitely link against WinMM library on Win32
When building for Win32 with recent MinGW64 runtime we have to link
against WinMM library explicitely.
(cherry picked from commit 49b6f25b2d)
2010-12-06 00:02:07 +01:00
Tobias Doerffel
859e819a02 MidiWinMM: fixed compiler warning
Pass 0 instead of NULL for 3rd and 4th argument of midiOutOpen().
(cherry picked from commit 8c4a8182ab)
2010-12-06 00:01:38 +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
Tobias Doerffel
c562952800 Merge branch 'calf-updates'
* calf-updates:
  Reimplement modulation matrix (and tables in general) using configure variables. Slow and most likely incomplete, but a good start.
  Add extra checks to detect when param_count != param array size - 1.
  Fix another install-related crash, this time due to invalid params in fluidsynth. (cherry picked from commit 034e3a47cd40eb6bb7d221274fda2a5c1c79f42f)
  Fix the infamous crash on install. (cherry picked from commit f0568e2f8a4c7d0003cc5a15e300aa2ebb3f93cb)
  The range given in the comment wasn't really correct. (cherry picked from commit 292cdaa81dab7e7d948f597041cb86d70dc5ff92)
  Use symmetric dB range for EQ plugins.
  Fix a few bugs in compilation of limited versions (DSSI without GUI, no JACK host).
  Initialise the vintage delay properly... hopefully this time. (cherry picked from commit c96ff1d680148cc877fab3b641d666068eea06aa)
  Unbreak Monosynth by changing listview to use a 'key' attribute instead of 'param'.
2010-12-05 23:10:48 +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
Tobias Doerffel
6581a11a45 Merge branch 'calf-updates'
* calf-updates:
  Make meters in compressor/EQ/distortion modules sample-rate-dependent. (cherry picked from commit 47a87c696223625d31cf106e12ed08cd3293be14)
2010-10-17 18:16:47 +02: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
Tobias Doerffel
80a9f6c0de ResourceBrowser: integrated new ManageResourceLocationsDialog
Clicking the "Manage locations" button now opens an instance of the new
ManageResourceLocationsDialog.

Furthermore renamed ResourceBrowser::manageDirectories() to
ResourceBrowser::manageLocations().
2010-10-08 13:40:05 +02:00
Tobias Doerffel
654420d5f5 Added ManageResourceLocationsDialog
The ManageResourceLocationsDialog class provides a dialog for adding,
editing and removing resource locations.
2010-10-08 13:40:03 +02:00
Tobias Doerffel
903cf1f1e5 Added EditResourceLocationDialog
The EditResourceLocationDialog class provides a dialog for editing a
certain ResourceLocation.
2010-10-08 13:40:00 +02:00
Tobias Doerffel
4f1fbf9946 Added ResourceLocation class
The ResourceLocation class stores information about a location of
resources and creates according ResourceLocation instances.
2010-10-08 13:39:57 +02:00
Tobias Doerffel
59e472a7d9 Added UnknownResourceProvider class
The UnknownResourceProvider class is a dummy provider used as fallback
when an unknown ResourceProvider has been specified.
2010-10-08 13:38:43 +02:00
Tobias Doerffel
c05965117c InstrumentTrackView: use QMdiArea's window activation history
There's no need to implement an own (buggy) window activation history
for InstrumentTrackWindows. Use QMdiArea::subWindowList(...) instead.
Fixes buggy keyboard focus when switching between InstrumentTrackWindows.
2010-10-06 10:15:16 +02:00
Tobias Doerffel
fd40743772 Fixed alternating row color in QTreeView (Sf2 patch selector)
With Qt 4.7 the alternating row color in the Sf2 patch selector dialog
somehow was messed up. Fixed this by explicitely setting the alternating
row color in the style's CSS files.
2010-09-29 16:31:52 +02:00
Tobias Doerffel
830c2cb975 SampleTrack: do not hide EffectRackView forever when closing subwindow
Whenever closing the sample track effects window using its own close
button and trying to open it again there was only a really small window
without functionality. Fixed this by explicitely also showing subwindow
content in showEffects().

Closes #3075205.
2010-09-29 16:10:07 +02:00
Tobias Doerffel
01c91b6ce3 Merge branch 'calf-updates'
* calf-updates:
  LADSPA/CALF: removed unused file
  One table_edit_iface per table; start implementing a bridge class. (cherry picked from commit 2019ae2d8f9636b7d5cdb0c1fdd5f0d6f2b47e3d)
  Move the table_edit_iface out of plugin_metadata_iface, where it should have never been in first place. (cherry picked from commit 6907dc9670eae2313707b142c552a8d9e8b477b5)
  Fix organ crash in calfjackhost. (cherry picked from commit b2853103199b3f5f3a5d22271c5d89122514dd53)
  Remove the forgotten leftover references to the old extensions. (cherry picked from commit deb8b77bdb1e1648a38589b3be3d4d66175b4934)
  Replace string port/message context using persist extension. (cherry picked from commit b8e69ceb2ff7aca549efd939d04447e2f08ad5a8)
  Comment out the barfage when passing configure variables via message_run. (cherry picked from commit 1e767ff88578011c2f65466d5516953271e2cafd)
  Add a crude incomplete implementation of persist extension support. (cherry picked from commit 3ec11c04799fc08fd408c4ef2350df65f88ccfde)
  Add LV2 persist extension by paniq. (cherry picked from commit 1965282a28c6940164ffff7ebd106b27cafd7f2a)
  More refactoring of the VUs. The goal: to be able to add peak meters without major hassle. (cherry picked from commit 00ee132cc2ebe3b664c7d5760260d76dda37bf26)
  Fix handling of very short notes in Monosynth. (cherry picked from commit 5965d9922a0753e2dce4f743a23b9512be01a7ac)
2010-09-28 23:40:23 +02:00
Tobias Doerffel
cb05af03f7 LADSPA/CALF: removed unused file
We do not need lv2_persist.h for building the LADSPA version of CALF,
therefore remove it.
2010-09-28 23:39:28 +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
48f9008f42 Add LV2 persist extension by paniq.
(cherry picked from commit 1965282a28c6940164ffff7ebd106b27cafd7f2a)
2010-09-28 23:22:28 +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