Commit Graph

759 Commits

Author SHA1 Message Date
Tobias Doerffel
63f7846cf2 Merge branch 'master' into zynaddsubfx-master 2010-07-25 17:28:26 +02:00
Tobias Doerffel
30060e41b7 ZynAddSubFX: added window icon (win32 version only)
Added a window icon to ZynAddSubFX windows for better appearance.
This is currently only possible for the win32 version a lot more hacks
are required to achieve this for X as well :-(
2010-07-25 17:02:27 +02:00
Tobias Doerffel
fe7486750b ZynAddSubFX: allow hiding UI by closing main window
It's now possible to hide the ZynAddSubFX UI by simply closing its main
window instead of going back to LMMS and toggle the "Show UI" button.

Furthermore moved code for GUI thread into a non-static member function
of RemoteZynAddSubFx and removed the old code for handling IdHideUI
messages.
2010-07-25 15:20:48 +02:00
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
d46762a7be ZynAddSubFX/FLTK: updated to SVN revision 6970
Updated FLTK to SVN revision 6970 of branch-1.3:

    - Added Josef Vitu to CREDITS.
    - Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine!
    - Some fixes for the Cocoa port
    - Xcode project was not building Cocoa code!
    - Removed typedef that simply renamed char* to Fl_String, as discussed in the mailing list.
    - Checked in SebHoll's API mods, fixed indents.
        o Added user_data() to Fl_Tree_Item
        o Added insert() and add() methods that allow specification of Fl_Tree_Prefs
        o Changed Fl_Pixmap args to Fl_Image for more flexibility
        o Fixes for positioning of items in the presence of user icons
        o find_children() changed from protected -> public
    - Small fixed to SebHoll's user_data() mods (init + copy ctor),
    - Fumbeling about at the Cocoa implementation.
    - Fix for Mac's "ALT" key symbol: saucepan right side up, pancake not on floor.
    - Sorted Xcode source files (somewhat). Added Manolos patches to fix the Sys_Menu widget pointer.
    - Patced antialised fonts for Cocoa builds
    - Applied patch from dec 10th. It does not solve the problem that the About dialog drops behind the Sudoku window though...
    - Applied the 'recap.zip' files to the Cocoa patch. About diaog now correct. Much other stuff should work better now. Exciting!
    - New patches appliet for Cocoa port. Fixed(?) STR 2232 workaround for X11 keyrepeat bbbbuuuuuuggggg.
    - Added Manolo Gouy to CREDITS for his great work on porting FLTK 1.3 on Mac OS X to Cocoa. (Also fixed some space/tab inconsistencies).
    - Re-indented src/Fl_Input.cxx
    - Trying to fix update rectangles and dnd in Cocoa. Currently, invalidating a rectangle does not work. This can be seen when dragging data within an application, for example.
2009-12-13 22:34:45 +01:00
fundamental
de09a96b4b Misc: Minor changes to filter_ to reduce warnings
(cherry picked from commit e2b1eb9b1077e6516c0cc4e2283e5c886bed0e58)
2009-12-11 09:03:20 +01:00
Tobias Doerffel
2585af89de Cleanup: Separated Presets into Presets/PresetsArray
-Separated the Presets into two classes to reduce the g++ warnings about
 discarded arguments

-Note: looking at these classes, they need a bit more work to have them fit
 one good abstraction
(cherry picked from commit 92c2a9016f1663d0ad48dac081f277baaed37701)
2009-12-11 09:02:28 +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
ea2a753257 Merge branch 'master' into zynaddsubfx-master 2009-12-03 00:17:17 +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
01e10a1854 ZynAddSubFX: fixed commit d61283ad93
Commit d61283ad93 (cherry picked from
official upstream) contained a type which makes compilation of ZASF
plugin fail. Fix this by using correct variable name.
2009-11-27 08:43:25 +01:00
Tobias Doerffel
873eff2b22 ZynAddSubFX/FLTK: updated to SVN revision 6943
Updated FLTK to SVN revision 6943 of branch-1.3:

	- Adding Gerg's Fl_Table widget to FLTK 1.3 with kind permission. Documentation not yet added Support for both Visual Studio IDE's not yet added.
	- Removed accidentaly added binary file (Note to self: the use of wild cards is a dangerous one ;-)
	- Added doxygenified documentation for Fl_Table
	- Added doxygenified documentation for Fl_Table_Row
	- Added doxygenified documentation for Fl_Table_Row
	- Added Fl_Tree source code, demo files, and documentation. Thanks, Greg!
	- Removed unused members width_ and height_ from Fl_Scroll (STR #2289).
	- Removed obsolete <P> tags from doxygen docs (Fl_Scroll.H), fixed some typos.
	- Would not build on ubuntu 9.10 - bad file name (fl_ask.h) should be fl_ask.H fix 64 bit build
	- Added const'nes too Fl_Counter::step()
	- STR #2292: fixed issue typing a minus in Fl_Int_Input when all text is selected.
	- Added missing svn properties and $Id$ tags.
2009-11-27 08:32:31 +01:00
Tobias Doerffel
ced0d8ecc6 Merge branch 'master' into fx-mixer-rework 2009-11-26 01:47:38 +01:00