Commit Graph

560 Commits

Author SHA1 Message Date
Tobias Doerffel
5a00ebd360 MultimediaProject: splitted constructor for loading either file or data
The old constructor treated the string argument either as filename or
as raw XML data, depending on 2nd parameter. This is a mess and quickly
leads to confusion.

Now we have two constructors taking either a filename as string or a
QByteArray with XML data. Loading actual data has been separated into
MultimediaProject::loadData( const QByteArray & ).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-06-05 00:55:25 +02:00
Tobias Doerffel
b3c5d498e2 RemoteVstPlugin: use SplittedThreading model for Proteus VX
Proteus VX requires SplittedThreading model in order to run properly.
Issues with actually working UI interaction still need to be worked
out although it rather looks like a bug in WINE.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-06-02 00:45:04 +02:00
Tobias Doerffel
dc539d88de ZynAddSubFX: fixed compilation failure of FLTK if glibc >= 2.10
Fixed compilation failure of FLTK on systems with glibc newer than
version 2.9 where the signature of scandir(...) has changed.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-06-01 00:55:23 +02:00
Tobias Doerffel
3003163e9b ZynAddSubFX: fixed compilation failure of FLTK
Fixed compilation failure of FLTK on broken systems where strchr()
takes a non-const char pointer.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-06-01 00:44:06 +02:00
Tobias Doerffel
5b1900c4d0 ZynAddSubFX: processed UI files with Fluid from FLTK 1.3 branch
Processed all Fluid UI files with Fluid from FLTK 1.3 branch so the
generated code is up to date.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-05-31 18:38:40 +02:00
Tobias Doerffel
8affa66c61 ZynAddSubFX: integrated FLTK 1.3.0 branch from SVN
Integrated FLTK 1.3.0 branch from SVN which brings UTF8 support and
fully integrated Xft support (SVN rev. 6791).

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2009-05-31 18:38:24 +02:00
Tobias Doerffel
c86f7b5104 TripleOscillator: dynamically change range of fine detuning knobs
Similiar to the pitch knob of a instrument track, the range of the fine
detuning knobs in TripleOscillator is now changed dynamically as well.
This allows new kind of sounds by hardsyncing with a detuning of up
to +/- 2400 cents.
2009-05-16 17:29:55 +02:00
Frederik
af284e980f Allow compilation with -Werror=format-security
This commit fixes some calls to functions that are taking a format
string and an optional set of parameters as arguments. At some places
no format string was specified if only a simple C string was to be
sprintf()ed.  However for security reasons this is bad and was replaced
by code like

	sprintf( dest, "%s", str );
2009-05-05 23:23:52 +02:00
Andrew Kelley
134a20efe0 fixed dependency on libfluidsynth without checking for LMMS_HAVE_FLUIDSYNTH 2009-05-05 05:20:27 -07:00
Tobias Doerffel
ccb65f4b40 Added universal codebase for dragging plugin-specific presets
Added new stringPairDrag type "pluginpresetfile", allowing to drag
and drop any kind of plugin-specific preset files everywhere in the
program. Adopted changes in ZynAddSubFX plugin.
2009-05-03 16:10:06 +02:00
Tobias Doerffel
3a4ae3a434 VstEffect: check whether VST effect has an editor
Depending on whether VST effect has an editor return 1 or 0 in
VstEffectControls::getControlCount(). This prevents the EffectView in
the effect rack from showing a "Controls" button and creating an empty
subwindow.
2009-05-03 15:13:22 +02:00
Tobias Doerffel
044d671471 VstPlugin: added hasEditor() method
Added inline method hasEditor() with returns true or false depending on
whether the class received a window ID from the remote plugin.
2009-05-03 15:12:34 +02:00
Tobias Doerffel
324b5afb50 LV2: fixed serious violations of coding style conventions
Unfortunately new LV2 code didn't respect coding style conventions
so I fixed most of it and did various other cleanups. Still needs some
work though.
2009-04-30 01:09:20 +02:00
Martin Andrews
b40a9e1905 LV2: Manager now in LMMS core
Moved LV2Manager to LMMS core so it can be used by several plugins.
Furthermore made LMMS instead of LV2 browser plugin link against SLV2
libraries.
2009-04-30 00:29:38 +02:00
Martin Andrews
d1cfe69412 LV2Browser: initial version
This commit integrates initial support for LV2 plugins. This currently
includes the LV2 browser and is meant for development purposes only.
According changes were made to the build system in order to find
required libraries and header files.
2009-04-30 00:12:49 +02:00
Tobias Doerffel
d38d437349 ZynAddSubFX: added support for d'n'd XIZ files onto ZASF plugin
This commit allows the user to drag'n'drop DLL files onto ZynAddSubFX
instrument (inside LMMS).
2009-04-18 23:52:42 +02:00
Tobias Doerffel
75382de976 ZynAddSubFX: do not lock up after rendering project
Do not lock up after rendering project by calling waitForInitDone()
on our own (instead of in RemotePlugin constructor) with busy waiting
disabled.
2009-04-18 17:43:30 +02:00
Tobias Doerffel
dfab704100 ZynAddSubFX: do not subclass RemotePlugin
Create an own RemotePlugin object rather than inheriting from it.
This allows to restart ZASF RemotePlugin which for example is required
upon samplerate changes (closes #2626249).

Furthermore this commit cleans up some old unused stuff.
2009-04-18 17:24:30 +02:00
Tobias Doerffel
9873b880e2 ZynAddSubFX: made MIDI pitch bend work
Always send MIDI pitch bend events to MIDI channel 0 for the time being.
Makes MIDI pitch wheel work with ZynAddSubFX.
2009-04-18 12:47:02 +02:00
Tobias Doerffel
7a176c8fbb ZynAddSubFX: properly load/save instrument presets
When loading external XIZ presets, the embedded ZynAddSubFX plugin didn't
apply them completely so it did not save them properly later. This made
ZASF instruments play the default preset when loading the LMMS project
later. Now presets properly get applied to the selected instrument part.
2009-04-18 12:29:59 +02:00
Tobias Doerffel
827cbadc54 ZynAddSubFX: fixed possible accesses beyond array boundaries
GCC issued a few warnings concerning array out-of-boundary accesses.
This commit fixes them.
2009-04-18 00:59:40 +02:00
skiessi
df34815be0 Getting rid of some more useless bytes. 2009-04-14 20:04:21 +03:00
Tobias Doerffel
23a6f903ba ZynAddSubFX/FLTK: fixed my last commit
Fixed typos in my last commit.
2009-04-14 16:49:34 +02:00
Tobias Doerffel
f16cf90e14 ZynAddSubFX/FLTK: added legacy code if Xft support is disabled
Do not fail when libxft2-dev or similiar is not installed.
2009-04-14 16:46:16 +02:00
Tobias Doerffel
e08464124d Reverted accidently commited stuff by Skiessi
That's it.
2009-04-14 16:30:27 +02:00
Janne Matti Sinisalo
86a6a63462 Optimized default theme PNGs. 2009-04-14 16:46:17 +03:00
Tobias Doerffel
1b77346ded VeSTige: added support for d'n'd DLL files onto VeSTige instrument
This commit allows the user to drag'n'drop DLL files onto VeSTige
instrument. Furthermore VeSTige now registers itself as handler for
loading DLL files.
2009-04-14 00:00:29 +02:00
Tobias Doerffel
7539144b2c ZynAddSubFX: follow recent changes in CVS repository
No ChangeLog entries available, however mainly seem to be cleanups.
2009-04-13 01:48:47 +02:00
Tobias Doerffel
a3ccfb6ad8 ZynAddSubFX/FLTK: fixed "long long" types
Replaced "long long" types by simple "long" or "int".
2009-04-13 01:48:00 +02:00
Tobias Doerffel
c2f83e4157 ZynAddSubFX/FLTK: added Xft/Freetype2 support
Build FLTK with full Xft/Freetype2 support which means the ZynAddSubFX
GUI now has anti-aliased fonts.
2009-04-13 01:44:29 +02:00
Tobias Doerffel
1656f45734 ZynAddSubFX: convert full filename to native separators
When loading settings, make sure directory separators of temporary file
are native. Should have worked flawlessly before though.
2009-04-13 01:25:46 +02:00
Tobias Doerffel
69ff06e1b9 VstBase/CMakeLists.txt: do not fail with broken wineg++
With newer versions of wineg++ (1.1) errorneously adds the suffix ".exe"
to the target binary. This causes "make install" to fail. Therefore
rename remote_vst_plugin.exe if it exists.
2009-04-12 00:10:26 +02:00
Tobias Doerffel
337afffbf1 RemoteVstPlugin: removed obsolete warning
Removed obsolete warning about setting realtime. It's neither important
nor will calling printf()/fprintf() in a RemotePlugin print anything in
LMMS' console output.
2009-04-10 00:04:09 +02:00
Tobias Doerffel
7d1a357076 RemoteVstPlugin: fix issues with uniqueID
Removed the newline character at the end of the uniqueID array, decreased
array size to 5 and initialize last element with 0 after sprintf() call.
2009-04-10 00:02:29 +02:00
Tobias Doerffel
0abd4aad70 VstBase: initial support for saving/restoring chunks
Some VST plugins save their state as chunks rather than parameters.
According code to save/restore those chunks has been taken from FST 1.9.
However restore currently is disabled as it mostly fails for whatever
reason.
2009-04-09 23:40:04 +02:00
Tobias Doerffel
c0ff1aa95c RemoteVstPlugin: use std::vector rather than std::list
For some reason, building remote_vst_plugin.cpp with recent
wineg++/gcc-multilib on 64 bit platforms causes undefined symbols:

remote_vst_plugin-JzpHs6.o: In function `std::list<VstMidiEvent, std::allocator<VstMidiEvent> >::_M_insert(std::_List_iterator<VstMidiEvent>, VstMidiEvent const&)':
remote_vst_plugin.cpp:(.text._ZNSt4listI12VstMidiEventSaIS0_EE9_M_insertESt14_List_iteratorIS0_ERKS0_[std::list<VstMidiEvent, std::allocator<VstMidiEvent> >::_M_insert(std::_List_iterator<VstMidiEvent>, VstMidiEvent const&)]+0x35): undefined reference to `std::_List_node_base::hook(std::_List_node_base*)'

Replacing std::list with std::vector for queueing MIDI events seems to
fix this issue. Consider this as a workaround rather than constructive fix.
2009-04-07 12:37:17 +02:00
Tobias Doerffel
f7fa720d0b ZynAddSubFX: follow recent changes in CVS repository
Follow recent changes in ZynAddSubFX CVS repository - ChangeLog says:

29 Mar 2009 (Mark McCurry)
            - Started to use Doxygen within the Effects
            - Started to use const within Effects
            - Changing tabs->four spaces in hopes of generating a bit more
              consitancy
            - Began to use Initialization Lists
            - Almost all changes contained in Effects until further
              discussion on the style, so consistancy can be reached
2009-03-31 10:18:03 +02:00
Tobias Doerffel
5dd68ea7f3 LVSL: track samplerate/tempo changes in VstPlugin base class
Up to now changes of samplerate or tempo only have been tracked by the
VeSTige plugin while e.g. the VstEffect didn't forward such changes to the
RemotePlugin. Moving according code from VeSTige to VstPlugin base class
fixes this issue.
2009-03-22 15:59:09 +01:00
Tobias Doerffel
dce6ae9a7d VstEffect: set displayName property at initialization
In VstEffect constructor set the displayName property in order to make
EffectView display actual plugin name rather than just "VST Effect".
2009-03-22 15:32:06 +01:00
Tobias Doerffel
96fb6f5a38 RemoteVstPlugin: use SplittedThreading model for MDA plugins
Most of the MDA VST plugins require the SplittedThreading model in order
to run properly. All plugins whose unique ID starts with "mda" will be
driven with the SplittedThreading model.
2009-03-22 14:50:57 +01:00
Tobias Doerffel
a1299e3829 ZynAddSubFX: add preset directory to bankRootDirList
This commit fixes non-usable instrument bank browser in ZynAddSubFX,
especially in win32 version. Adding the ZynAddSubFX preset directory (inside
LMMS' preset directory) to config.cfg.bankRootDirList allows easy instrument
browsing using ZynAddSubFX' instrument bank browser (closes #2627950).
2009-03-20 11:45:58 +01:00
Tobias Doerffel
ee9e5680b7 LadspaEffect: fixed controller connections on samplerate changes
When global samplerate changes, settings of a LADSPA effect are stored in
a temporary object, the effect is reloaded and the settings are restored.
However, controller connections weren't restored properly as the connections
were not finalized. This commit fixes the issue.
2009-03-18 23:35:02 +01:00
Tobias Doerffel
617def002b MidiImport: fixed mistransposed notes
When importing MIDI files notes were always mistransposed by 9 semitones.
This commit fixes correction of notes' keys so imported MIDI files sound
just like they should.
2009-03-18 00:06:32 +01:00
Tobias Doerffel
59d20ec984 Vibed: cleanups in NineButtonSelector
Cleaned up, fixed some coding issues and added a TODO comment.
2009-03-16 18:23:35 +01:00
Tobias Doerffel
d3cc908f43 Vibed: fixed legacy code in NineButtonSelector
In Qt3 we had to take care of drawing background properly if there were
semitransparent child widgets. This code had been ported to the Qt4 version
but is obsolete and causes a crash when for example dragging a Vibed preset
onto an existing instrument track. This commit removes this code.
(closes #2688270)
2009-03-16 18:22:45 +01:00
Tobias Doerffel
ea3989a4c1 ZynAddSubFX: follow recent changes in CVS repository
Follow recent changes in ZynAddSubFX CVS repository - ChangeLog says:

07 Mar 2009 (Mark McCurry)
	- Incorperated QUERTZ layout by Achim Settelmeier
2009-03-16 17:47:06 +01:00
Tobias Doerffel
b1fe2dcbdf Sf2Player: fixed hanging notes with enabled panning support
If SF2_PANNING_SUPPORT is set, overlapping notes of the same key played on
different MIDI channel caused some notes to hang. This commit fixes the issue.
2009-03-16 16:51:35 +01:00
Tobias Doerffel
12fd3206b4 Sf2Player: truncated LOG440 constant
Having LOG440 as double with a mantissa of 51 digits doesn't help anything.
Truncated to float with 9 digits.
2009-03-16 15:37:16 +01:00
Tobias Doerffel
f0cd8631d7 Sf2Player: properly update patch if panning support is enabled
If SF2_PANNING_SUPPORT is set, changed patches were applied to current
channel after calling fluid_synth_noteon(...) - some notes still were played
with the old patch until m_channel made one round trip.
2009-03-15 21:57:17 +01:00
Tobias Doerffel
3084b361ea PeakControllerEffect: corrected calculation for RMS and moved loops out
of if-branches - results however should be nearly the same but more accurate
and not negative
2009-03-12 00:44:40 +01:00