Commit Graph

2524 Commits

Author SHA1 Message Date
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
Tobias Doerffel
1fd115afea Merge branch 'calf-updates'
* calf-updates:
  Cleanups/bugfixes in Monosynth.
2010-05-26 12:38:22 +02:00
Krzysztof Foltman
6ebc7c80d1 Cleanups/bugfixes in Monosynth.
(cherry picked from commit 404e1a0861e9b7a79f3b0175f40b427c06945adc)
2010-05-26 12:36:59 +02:00
Tobias Doerffel
d7ce7d485b Themes: explicitely set background and text color for tooltips
As the colors of QToolTip depend on the desktop environment used,
explicitely set background and text color for fixing cases like
white text on bright yellow background.

Closes #3006955.
2010-05-26 12:27:23 +02:00
Andrew Kelley
f9015ac945 Save/Discard instead of Yes/No
Integrates Sami Boukortt's patch described below:

I have made a patch for the “Save changes?” dialog box to let the user choose
between “Save”, “Discard” and “Cancel” instead of “Yes”, “No” and “Cancel”.

I find this way more intuitive, since it enables Qt to reorganize the buttons
properly according to the platform and to give them an icon (at least on X11).

It also allows users to know what is going to happen without having to read
the question.
2010-05-24 17:53:12 -07:00
Andrew Kelley
0876e7cb9b Add .gitignore file 2010-05-24 17:52:20 -07:00
Tobias Doerffel
9c856454d1 Merge branch 'calf-updates'
* calf-updates:
  CALF: Added missing config.h
2010-05-22 01:32:05 +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
d2a4a9dbd0 Merge branch 'calf-updates'
* calf-updates:
  CALF: rebased to CALF master branch
  Moved CALF headers to  proper location
2010-05-21 17:08:39 +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
4d3040297c Improved .desktop and menu file
Thanks to Fryderyk Dziarmagowski for providing a patch for the .desktop
file of LMMS. It should be standard conform now. An icon is now
explicitely installed in /usr/share/pixmaps so the .desktop and menu
files can specify a generic icon name rather than an absolute file path
to a PNG file of LMMS' default theme.
2010-05-21 15:53:19 +02:00
Tobias Doerffel
5f6c42f19c EnvelopeAndLfoParameters: moved global instances management into helper class
It's a bad style to manage global instances of an object in the object
itself. Therefore introduced a nested helper class which manages all
instances of EnvelopeAndLfoParameters globally. It is now responsible
for global reset/triggers of LFOs. In contrast to previous state, this
is now done thread-safe. Fixes crashes for example while importing
MIDI files.
2010-05-21 13:27:04 +02:00
Tobias Doerffel
fe7d5e3d5a Engine: introduced deleteHelper() function
The new deleteHelper() template function takes a pointer, saves it
to a temporary, sets the passed pointer to NULL and then deletes the
object it was referring to before. This way we can spot bugs caused by
undesired references to global objects at shutdown more easily.
2010-05-21 13:25:10 +02:00
Tobias Doerffel
a9abdc3e75 InlineAutomation: delete attached AutomationPattern immediately
It was not safe to immediately delete the AutomationPattern attached to
an InlineAutomation object before commit "InlineAutomation: delete
attached AutomationPattern immediately" as the AutomationPattern
destructor sometimes fiddles around with AutomationEditor (GUI!).
However this has changed now and this enables us to delete the
AutomationPattern immediately. This fixes some random crashes with
scheduling AutomationPatterns for later deletion.

Closes #2982696.
2010-05-21 13:19:24 +02:00
Tobias Doerffel
afba8a7ad4 AutomationEditor: thread-safe handling of AutomationPattern pointer
It was not possible to call any of the functions of AutomationEditor
from threads other than the main GUI thread as the m_pattern pointer
was not protected by a mutex. It is however desired to be able to call
for example AutomationEditor::setCurrentPattern(...) from different
threads (mainly required when deleting AutomationPatterns in other
threads). Thus made this method and all accesses to the m_pattern
pointer thread-safe.
2010-05-21 13:19:15 +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
213c666f92 CMake/FindFlac: also search for libFLAC++
The FLAC export has been realized using the libFLAC++ library which
needs to be linked against explicitely for win32 builds.
2010-05-17 23:24:41 +02:00
Tobias Doerffel
3fcb5b09ba FxMixer, FxMixerView: export class symbols
Due to the FxMixer improvements some plugins such as the FLP import
filter now directly access the FxMixer and its view. Therefore the
symbols of the FxMixer and FxMixerView classes need to be exported for
the win32 builds.
2010-05-17 23:22:30 +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
Tobias Doerffel
9c9bca7098 EffectControl: store visibility information of attached EffectView
For some effects it is helpful to know whether their attached EffectView
is visible or not. This mainly concerns effects that actually do not
touch the sound data but analyze it and display the results.
2010-05-17 23:17:16 +02:00
Tobias Doerffel
ceacb484a1 Merge branch 'calf-updates'
* calf-updates:
  Simplify Multiband Compressor code and fix several bugs.
  Remove zombie small plugin code.
  Remove small plugins together with all the supporting infrastructure.
  Add Doxygen documentation for plugin_registry class.
  More refactoring.
  General refactoring. Start implementing external GUI.
  + LV2: add external UI header (not used for anything yet)
2010-04-03 13:09:21 +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
c8a444d026 Merge branch 'calf-updates'
* calf-updates:
  CALF: resync source files due to forgotten commits
  + JACK host: implemented Save/Save as...; Open not implemented yet - who could possibly want THAT?
  + EQ: Fix adding EQ plugin using menu in calfjackhost
  Some changes in style, smaller h/v-scale added
  + LADSPA: make plugin IDs unique across Calf plugins, add an install-time check
  + EQ-5: refactoring to eliminate code duplication, side effect: stereo meters
  + EQ-n: shorter names for calfjackhost and others
  + Equalizers: convert lists of per-band parameters using macros (ugly, but effective)
  + EQ-8, EQ-12: reduce copypasta by using a class template
  + Compatibility: workaround for GStreamer crash bug in Ubuntu 9.10 (thanks to Stefan Kost for diagnosing the problem and suggesting the workaround)
  + Compressor simplification, added optional audio ports
2010-01-04 00:43:13 +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
Janne Sinisalo
0ac6f0b741 New drum samples
Added a drum kit I've recorded from my Korg module.
2010-01-03 09:47:14 +02: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
ebf80bb8a3 Instrument: added Doxygen comments
Commented the whole Instrument class and converted the existing comments
to Doxygen style.
2009-12-26 00:54:33 +01:00
Tobias Doerffel
c2e0cde213 Win32 toolchain: various fixes + march=i686
In build_mingw32 script fixed path to Win32Toolchain.cmake. In this
file set march=i686 and mtune=generic.
2009-12-25 00:39:32 +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
ca2440d1c4 Removed some old projects
Removed some old projects that did not represent LMMS and its abilities
anymore. We also need to replace most of the "Cool songs" and replace
them by more recent projects from LSP.
2009-12-22 00:38:48 +01:00
Tobias Doerffel
04699ba412 MainWindow: stop playing song when asking whether to save project
Users reported the last buffer played repeatedly while the dialog asking
whether to save project is shown. This behaviour even continued while
loading a project. An easy workaround for this is to stop playing song
(or whichever TrackContainer is active at the moment) in
MainWindow::mayChangeProject().

Closes bug #2904781.
2009-12-17 21:17:34 +01:00
Tobias Doerffel
bb57d53770 TrackContainer: fix Qt header includes
Always prefix Qt header includes with name of according module.
2009-12-14 09:28:42 +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