Commit Graph

2046 Commits

Author SHA1 Message Date
Tobias Doerffel
ea4f034fa8 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 :-(
(cherry picked from commit 30060e41b7)
2010-07-25 17:03:12 +02:00
Tobias Doerffel
9b39b483e9 CMakeLists.txt: rename config.to to src_config.h
Commit e07ed33827 renamed config.h to
src_config.h. Also reflect that change in CMakeLists.txt.
(cherry picked from commit a7aff505c1)
2010-07-25 16:54:40 +02:00
Tobias Doerffel
6203fdaa4f 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.
(cherry picked from commit fe7486750b)
2010-07-25 15:21:20 +02:00
Tobias Doerffel
4689484ef7 lmms.rc.in: updated copyright year
Updated copyright year in win32 resource file.
(cherry picked from commit 5c2c356ba4)
2010-07-25 14:39:39 +02:00
Tobias Doerffel
ade301a51a 3rdparty/libsamplerate: renamed config.h to src_config.h
We must not have any file called config.h in directories which are added
to global include directories. For example when building the CALF plugin
the file config.h from libsamplerate was used rather than CALF's local
one. Fixes missing LADSPA symbols in CALF library if no usable
libsamplerate was found in the system at configure time.

Also bumped version number in src_config.h.
(cherry picked from commit e07ed33827)
2010-07-25 14:36:45 +02:00
Tobias Doerffel
08c0916916 RemoteVstPlugin: silence compiler warning
Initialize variable of type DWORD with 0 instead of NULL.
(cherry picked from commit 5f33f1ea77)
2010-07-25 11:35:35 +02:00
Tobias Doerffel
4b89814e3a TrackContentObject: keep position in paste()
When calling TrackContentObject::paste(), only the content should be
pasted, not the position. This fixes pasting for example note patterns
and is also a more generic solution for the bug fixed in commit
4ec5c6afe1.

Closes #3005649.
(cherry picked from commit 5306f7b0ca)
2010-07-25 01:27:23 +02:00
Tobias Doerffel
6990ecd829 When cloning BB track, indicate this fact in name of cloned BB track
Cloning a BB track can be rather confusing (e.g. two "Beat/Bassline 0").
Therefore prepend an indication to the name of the cloned BB track.
(cherry picked from commit 3b642271a8)
2010-07-25 01:14:16 +02:00
Tobias Doerffel
4ec5c6afe1 Fixed cloning of BB tracks
Not sure when it broke but cloning BB tracks erroneously cloned
positions of TCOs as well which made the source BB track have
two TCOs one upon the other while the destination BB did not have
any TCOs at all.

The fix is to save the position of the destination TCO before and
restore it manually after paste().
(cherry picked from commit c16e04c0dd)
2010-07-25 01:14:10 +02:00
Tobias Doerffel
74f4cb0368 ZynAddSubFX: on Linux link against libfontconfig
FLTK requires libfontconfig on Linux, therefore link against it.
(cherry picked from commit 7b0b932441)
2010-07-25 01:14:01 +02:00
Tobias Doerffel
7d78268f85 ExportProjectDialog: guess file format from extension
If we choose to export an OGG file in the first dialog, it's really
annoying having to select OGG a second time. Therefore guess file
format from extension (backport from master).
2010-07-25 00:33:48 +02:00
Tobias Doerffel
a2aafd79d0 NotePlayHandle: fix broken note detuning feature
Commit 884b9ca671 completely broke the
note detuning feature as the detuning value was not incoorporated into
the frequency calculation anymore. Fix this by adding the detuning value
to the pitch variable.
(cherry picked from commit b30e91042b)
2010-07-25 00:24:17 +02:00
Tobias Doerffel
199d78de59 Merge branch 'calf-updates'
* calf-updates:
  Fix incorrect plugin class (spotted by Luis Garrido).
  Add windowing-based antialiasing to hard sync in Monosynth; update last stretch even if synth is idle. (cherry picked from commit d64a0487d88f6730ef90dd6d79b892ad4a114138)
(cherry picked from commit 8ef98b63db)
2010-07-24 23:43:28 +02:00
Tobias Doerffel
47f56ed460 Do not use -ftree-vectorize per default anymore
The compiler flag -ftree-vectorize brings only little advantages in
some special cases. In all other cases either worse or even wrong code is
generated due to bugs in GCC (especially for Win32). Therefore remove it.
2010-07-24 23:32:19 +02:00
Tobias Doerffel
57540de703 AboutDialog: show correct copyright years
It's been two years that the copyright years were not updated in the
AboutDialog. Fix this.
2010-07-23 22:17:54 +02:00
Tobias Doerffel
f85898ba6e 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.
2010-07-23 22:16:06 +02:00
Tobias Doerffel
9b76a4b6b4 ZynAddSubFx: MinGW64-specific fixes
Some minor modifications were neccessary in order to build LMMS with
the latest MinGW64 environment.
(cherry picked from commit 456abc4cde)
2010-06-16 23:14:37 +02:00
Tobias Doerffel
48b0b1efb9 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.
(cherry picked from commit 4393ec8281)
2010-06-16 23:11:11 +02:00
Janne Sinisalo
d1d0ac47b4 Newer ZynAddSubFX plugin tab background
Replaced the background for ZynAddSubFX plugin tab in the instrument window again.
(cherry picked from commit 401652a100)
2010-06-16 23:11:00 +02:00
Janne Sinisalo
4fc4f19093 New ZynAddSubFX plugin tab background
Replaced the background for ZynAddSubFX plugin tab in the instrument window.
(cherry picked from commit 45fc5c6ac7)
2010-06-16 23:10:54 +02:00
Tobias Doerffel
9af1112f33 Merge branch 'calf-updates'
* calf-updates:
  Cleanups/bugfixes in Monosynth.
(cherry picked from commit 1fd115afea)
2010-05-26 12:40:04 +02:00
Tobias Doerffel
d63270cd06 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.
(cherry picked from commit d7ce7d485b)
2010-05-26 12:30:18 +02:00
Andrew Kelley
6a52e6430a 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.
(cherry picked from commit f9015ac945)
2010-05-25 08:58:27 +02:00
Tobias Doerffel
eab1153561 Merge branch 'calf-updates'
* calf-updates:
  CALF: Added missing config.h
(cherry picked from commit 9c856454d1)
2010-05-22 01:32:49 +02:00
Tobias Doerffel
6a1daf5bc8 Merge branch 'calf-updates'
* calf-updates:
  CALF: rebased to CALF master branch
  Moved CALF headers to  proper location
(cherry picked from commit d2a4a9dbd0)
2010-05-21 17:10:23 +02:00
Tobias Doerffel
c4b378c337 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.
(cherry picked from commit 4d3040297c)
2010-05-21 15:56:59 +02:00
Tobias Doerffel
908a917021 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.
(cherry picked from commit 5f6c42f19c)
2010-05-21 14:14:00 +02:00
Tobias Doerffel
488337f6eb 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.
(cherry picked from commit fe7d5e3d5a)
2010-05-21 14:13:11 +02:00
Tobias Doerffel
95b0c827d1 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.
(cherry picked from commit a9abdc3e75)
2010-05-21 14:11:55 +02:00
Tobias Doerffel
aa992e8e1b 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.
(cherry picked from commit afba8a7ad4)
2010-05-21 14:11:32 +02:00
Tobias Doerffel
566a3334aa 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.
(cherry picked from commit ace2266529)
2010-05-21 01:08:55 +02:00
Tobias Doerffel
c59fe081ee Improved support for MinGW cross compile builds
Cross compile support for Win32 and Win64 has been unified,
simplified and adapted to the new MinGW64-based build environment.
This finally allows to produce working Win64 binaries.
(cherry picked from commit 51103bb674)
2010-05-17 23:43:52 +02:00
Tobias Doerffel
48fdc70893 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.
(cherry picked from commit 22489ae321)
2010-05-17 23:37:29 +02:00
Tobias Doerffel
9b0925432a 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.
(cherry picked from commit 70b80efec1)
2010-05-17 23:36:54 +02:00
Tobias Doerffel
48bbfad53d 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.
(cherry picked from commit 9c9bca7098)
2010-05-17 23:36:46 +02:00
Tobias Doerffel
463d73ea48 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)
(cherry picked from commit ceacb484a1)
2010-04-03 13:10:54 +02:00
Tobias Doerffel
7c16094811 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.
(cherry picked from commit 9fd3dacb67)
2010-01-25 23:27:43 +01:00
Tobias Doerffel
1ad1c99e35 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
(cherry picked from commit c8a444d026)
2010-01-04 00:46:49 +01:00
Tobias Doerffel
be2b6ec9b0 Merge branch 'calf-updates'
* calf-updates:
  + Deesser: use correct threshold
  + Equalizer: remove unused variables
  + Gain reduction module: clearer authorship information
  + Framework: placeholder for waveshaper class (need it to merge further changes from Markus)
(cherry picked from commit 774bd74c77)
2010-01-04 00:46:44 +01:00
Tobias Doerffel
595d50fc20 Merge branch 'calf-updates'
* calf-updates:
  New widget: Tube with light and falloff
  New Deesser, some minor bugs in sc-comp
  Sidechain compressor bugs/settings, 3 equalizer
  Minor bugs, sidechain frequency display
  New FX: Sidechain compressor
  New button (big mama), VU-meters with falloff and hold, bug in delay (value)
  In the middle of nowhere
  Fully redesigned
  Sidebars, GUI layouts, black buttons again, input knob for compressor
  Added 6 new LED's and peak hold function for VU-meters
  meter_gain in gain_reduction module with falloff
(cherry picked from commit 083c2e1b0b)
2010-01-04 00:46:37 +01:00
Tobias Doerffel
3348a4378f 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.
(cherry picked from commit 81cea79c38)
2009-12-26 01:09:56 +01:00
Tobias Doerffel
93eb03612d Made 0.4.6 release
Bumped version number to 0.4.6 in CMakeLists.txt and README.
v0.4.6
2009-12-25 00:47:13 +01:00
Tobias Doerffel
d0e769c052 Win32 build: copy new libFLAC-8.dll into package
External FLAC support recently has been added to mingw-x-libsndfile.
Therefore we now require libFLAC-8.dll in our package.
2009-12-25 00:43:15 +01:00
Tobias Doerffel
cc821a1a03 Win32 toolchain: various fixes + march=i686
In build_mingw32 script fixed path to Win32Toolchain.cmake. In this
file set march=i686 and mtune=generic.
(cherry picked from commit c2e0cde213)
2009-12-25 00:42:08 +01:00
Tobias Doerffel
6d890557a7 ConfigMgr: fix initialization of various paths if they do not exist
We should not only test whether a specific path (e.g. STK or LADSPA
path) is empty but also whether it does not exist so we can reset it
to a sensible default value (for example when upgrading LMMS on Win32
where the program's path will change).

Furthermore default to "C:\Program Files\VstPlugins" for the VST
directory on Win32 which is the default location for VST plugins.
2009-12-25 00:38:14 +01:00
Tobias Doerffel
092c288a33 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.
(cherry picked from commit 5e711875f5)
2009-12-22 00:51:51 +01:00
Tobias Doerffel
cf680c4175 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.
(cherry picked from commit ca2440d1c4)
2009-12-22 00:41:39 +01:00
Tobias Doerffel
e852c8b267 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.
(cherry picked from commit 04699ba412)
2009-12-17 21:19:21 +01:00
Tobias Doerffel
275eb7ac2b TrackContainer: fix Qt header includes
Always prefix Qt header includes with name of according module.
(cherry picked from commit bb57d53770)
2009-12-14 09:37:00 +01:00
Tobias Doerffel
d7ae99a5e8 TrackContentWidget: fixed background tile pixmap updating
The background tile pixmap used to draw the background of
TrackContentWidgets was only updated on size changes but not on
changes of zoom level in according editor. Fix this by updating
background pixmaps in trackContainerView::setPixelsPerTact().
2009-12-07 01:38:17 +01:00