Commit Graph

2021 Commits

Author SHA1 Message Date
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
ebd3d26531 LadspaControl: set name property for tempoSyncKnobModel
For each model but the tempoSyncKnobModel the name property was properly
passed to the according constructor. This made time-based knobs in LADSPA
effects have no internal name, e.g. there were blank captions in the
knob's context menu or empty titles when used in combination with
automation patterns.
2009-05-03 15:26:43 +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
9cced2957c EffectView: always check whether effect has a control dialog
Do not add empty subwindows for effects that do not have a control
dialog at all (i.e. Effect::getControlCount() == 0). Also check whether
creation of control dialog was successful. Fixes possible crashes if
something went wrong with the effect (e.g. loading VST effect failed).
2009-05-03 15:09:58 +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
Andrew Kelley
c12b716458 Experimental automation recording support
Allows you to record automation by arming an automatable model
and then recording with the RecordAndPlay button.

Known bugs:
	* when you record and there is already an auto clip, it repeats it
	* it freezes when you try to do it with the Volume or Panning slider
	* crashes when you try to do it with a solo/mute button
2009-04-28 17:56:49 -07:00
Andrew Kelley
198cfe96b4 fix alignment of automation recording 2009-04-28 17:56:49 -07:00
Andrew Kelley
6eb3cd5d60 add bugs todo items 2009-04-28 17:56:49 -07:00
Andrew Kelley
bdd1ca0bfe fix knob not being updated when controlled 2009-04-28 17:56:49 -07:00
Andrew Kelley
57824bb2d1 make knobs easier to tune 2009-04-28 17:56:49 -07:00
Andrew Kelley
f40b61045a implemented automation recording 2009-04-28 17:56:48 -07:00
Tobias Doerffel
12d26ed0aa InstrumentTrackWindow: clear focus on closeEvent
When closing an InstrumentTrackWindow make sure it doesn't still have
keyboard focus (looks like a bug in Qt) and set focus on
trackLabelButton instead (closes #2780590).
2009-04-25 16:39:44 +02:00
Tobias Doerffel
780447d751 BasicOpsX86: regenerated with final 4.4.0 release of GCC
Regenerated BasicOps assemblies with final 4.4.0 release of GCC,
providing some more minor optimizations.
2009-04-23 12:09:39 +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
232c1de404 InstrumentTrackView: save and restore last position of window
When closing a InstrumentTrackWindow save its position so it can be
restored later when showing it. Fixes windows always popping up
somewhere else when toggling instrument track button repeatedly.
2009-04-18 18:25:44 +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
1802b91e55 RemotePlugin: allow waitForInitDone() without busy waiting
An additional parameter to waitForInitDone() allows to disable busy
waiting which could be desired in various places to avoid deadlocks.
2009-04-18 17:41:37 +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
7200eb8158 RemotePlugin: made lock() and unlock() methods public
Made RemotePlugin::lock() and RemotePlugin::unlock() public allowing
to use RemotePlugin class without subclassing it.
2009-04-18 17:18:24 +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
Tobias Doerffel
5828643582 Note class: renamed method "bool selected()" to "bool isSelected()"
In class "Note" renamed method "bool selected()" to "bool isSelected()"
in order to match coding style conventions.
2009-04-17 15:11:41 +02:00
Tobias Doerffel
efb335cea7 PianoRoll: do not make notes disappear under certain circumstances
When starting LMMS, loading an existing project and opening a pattern
with notes inside in piano roll, moving single notes showed unexpected
behaviour, i.e. the according note has been moved somewhere unreachable.

I tracked this down to a missing initialization of m_moveBoundary*
variables. Adding a few lines fixes the issue (closes #2632909).
2009-04-17 15:07:54 +02:00
Tobias Doerffel
d4680ba21d AutomationEditor: fixed window title
As of commit 91f3db7b window title of automation editor has been in
uppercase letters which is wrong.
2009-04-17 12:24:54 +02:00
Tobias Doerffel
6f0388be7c PianoView/PianoRoll: fixed keycodes for OS X
This patch enables the usage of PC keyboard for playing instrument piano
or piano roll on OS X by evaluating nativeVirtualKey rather than
nativeScanCode.
2009-04-16 10:40:00 +02:00
Janne Matti Sinisalo
b48fed891c Upgraded project files to the newer compressed format. 2009-04-15 22:10:06 +03: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
656b195cfd RemotePlugin: never lock up if remote plugin died
Up to now there were insufficient checks whether the remote plugin
has died and so the result usually has been a complete lock-up of LMMS
(especially when using buggy VST plugins or similiar). By adding
according checks to remotePlugin::lock() and remotePlugin::unlock()
as well as remotePluginBase::waitForMessage() those lock-ups are gone.
2009-04-14 00:34:37 +02: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
e0d352dc2c FileBrowser: added file type VstPluginFile
Added file type VstPluginFile in order to allow loading DLL files by
an according plugin directly from file browser.
2009-04-13 23:58:30 +02:00
Tobias Doerffel
9a4b4f3cfe Plugin: try to load all shared libraries first
Try to load all shared libraries before resolving any symbols. Fixes
problems with plugins that are linked against other shared libraries
located in LMMS' plugin directory.
2009-04-13 23:55:48 +02:00
Tobias Doerffel
76662a3a51 InstrumentTrack: fixed calculation in midiPitch()
InstrumentTrack::midiPitch() returned 16384 instead of 16383 if pitch
was set to +100 cents. This commit fixes the calculation.
2009-04-13 16:13:18 +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
ad79ac7e21 WebResourcesProvider: more safely manage download IDs
Do not add download ID returned by QHttp::get() to array and remove it
in the finishDownload() slot rather than adding the ID to the array as
soon as the download has finished.
2009-04-13 01:22:49 +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
f38ccba04a German localization: fixed typo
Fixed typo in German localization file.
2009-04-09 00:27:27 +02:00