Commit Graph

2108 Commits

Author SHA1 Message Date
Tobias Doerffel
384a024bae Fixed alternating row color in QTreeView (Sf2 patch selector)
With Qt 4.7 the alternating row color in the Sf2 patch selector dialog
somehow was messed up. Fixed this by explicitely setting the alternating
row color in the style's CSS files.
(cherry picked from commit fd40743772)
2010-09-29 16:33:53 +02:00
Tobias Doerffel
66b83dfaec SampleTrack: do not hide EffectRackView forever when closing subwindow
Whenever closing the sample track effects window using its own close
button and trying to open it again there was only a really small window
without functionality. Fixed this by explicitely also showing subwindow
content in showEffects().

Closes #3075205.
(cherry picked from commit 830c2cb975)
2010-09-29 16:10:52 +02:00
Tobias Doerffel
f1f5040ddc Merge branch 'calf-updates'
* calf-updates:
  LADSPA/CALF: removed unused file
  One table_edit_iface per table; start implementing a bridge class. (cherry picked from commit 2019ae2d8f9636b7d5cdb0c1fdd5f0d6f2b47e3d)
  Move the table_edit_iface out of plugin_metadata_iface, where it should have never been in first place. (cherry picked from commit 6907dc9670eae2313707b142c552a8d9e8b477b5)
  Fix organ crash in calfjackhost. (cherry picked from commit b2853103199b3f5f3a5d22271c5d89122514dd53)
  Remove the forgotten leftover references to the old extensions. (cherry picked from commit deb8b77bdb1e1648a38589b3be3d4d66175b4934)
  Replace string port/message context using persist extension. (cherry picked from commit b8e69ceb2ff7aca549efd939d04447e2f08ad5a8)
  Comment out the barfage when passing configure variables via message_run. (cherry picked from commit 1e767ff88578011c2f65466d5516953271e2cafd)
  Add a crude incomplete implementation of persist extension support. (cherry picked from commit 3ec11c04799fc08fd408c4ef2350df65f88ccfde)
  Add LV2 persist extension by paniq. (cherry picked from commit 1965282a28c6940164ffff7ebd106b27cafd7f2a)
  More refactoring of the VUs. The goal: to be able to add peak meters without major hassle. (cherry picked from commit 00ee132cc2ebe3b664c7d5760260d76dda37bf26)
  Fix handling of very short notes in Monosynth. (cherry picked from commit 5965d9922a0753e2dce4f743a23b9512be01a7ac)
(cherry picked from commit 01c91b6ce3)
2010-09-28 23:44:33 +02:00
Tobias Doerffel
79d6cff46f Made 0.4.8 release
Bumped version number to 0.4.8 in CMakeLists.txt and README.
v0.4.8
2010-09-03 00:22:33 +02:00
Tobias Doerffel
49d833c2fd VstEffectControlDialog: fixed preprocessor macro logic
Fixed preprocessor macro logic that was messed up in commit
fa9e0f762c.
(cherry picked from commit 342ea2ba05)
2010-09-02 23:48:58 +02:00
Tobias Doerffel
1bf3768c1c VstEffectControlDialog: workaround for invisible GUI on Linux
For some reaons with recent versions of Qt we can't embed the VST FX
GUI into an existing EffectControlDialog anymore. As a workaround, embed
it into a new subwindow and added an additional show/hide button.

Closes #3028717.
(cherry picked from commit fa9e0f762c)
2010-09-02 17:38:05 +02:00
Tobias Doerffel
d396a29c06 ZynAddSubFX: only re-instantiate ZASF if m_hasGUI has changed
Do not re-instantiate ZynAddSubFX if m_hasGUI is different from the
value of the according push button.
(cherry picked from commit f05c510f4d)
2010-09-02 17:23:31 +02:00
Tobias Doerffel
bac2b28ad7 ZynAddSubFX: save which controllers were modified and restore them
We must not only restore the controller knobs but also send updates
to ZynAddSubFX. However this only applies to knobs that were modified.
Therefore save and remember which knobs this applies for.
(cherry picked from commit b2cc802528)
2010-09-02 17:23:28 +02:00
Tobias Doerffel
2c99688f91 ZynAddSubFX: fixed identifier for filter resonance controller
The filter resonance controller erroneously was labeled with something
like "cutoff" which is definitely wrong. Use "resonance" instead.
(cherry picked from commit 1546b7cec0)
2010-09-02 16:24:57 +02:00
Tobias Doerffel
1c4d1f4ed3 PianoView: send NoteOff MIDI events for all keys on focus out
Commit 491910357b was a first try to fix
bug #3052228 but it broke InstrumentPlayHandle-driven instruments.
When losing focus now simply send NoteOff MIDI events for all keys
regardless of the state indicated by Piano::m_pressedKeys.

Closes #3052228.
(cherry picked from commit f8e73c5293)
2010-09-02 01:54:20 +02:00
Tobias Doerffel
706201dd79 Revert "PianoView: call InstrumentTrack::silenceAllNotes() on focus out"
This reverts commit 491910357b.
2010-09-02 01:47:28 +02:00
Tobias Doerffel
a2a1277660 SID: improved artwork+logo once more
The first version of mikobuntu's logo had a white semitransparent
background. This has been fixed. Additionally the background artwork
of the SID plugin has been changed as well to include the new logo.
Thanks to pgib for preparing this.
(cherry picked from commit eb673c0ad5)
2010-09-02 00:07:07 +02:00
Tobias Doerffel
491910357b PianoView: call InstrumentTrack::silenceAllNotes() on focus out
If we lose focus, call InstrumentTrack::silenceAllNotes() after
explicitely sending NoteOff MIDI events for all keys for which presses
were recorded. In case the arpeggiator is enabled this is not
sufficient. Fixes hanging notes when switching active subwindow while
pressing keys in an instrument track window with arpeggiator enabled.

Closes #3052228.
(cherry picked from commit 2f921303eb)
2010-09-01 23:56:28 +02:00
Tobias Doerffel
18d3c886a6 ZynAddSubFX: properly load preset data if knobs are automated/controlled
Commit 534c4debb5 introduced a regression.
If knobs have a song-global automation or controllers attached, they
save these settings in a sub XML node which confused the ZASF preset
loader which assumed the first child node would always be the ZASF
preset data. Fix this by explicitely searching for an XML element named
"ZynAddSubFX-data".

Closes #3057275.
(cherry picked from commit 4e695a4ea8)
2010-09-01 23:29:30 +02:00
Tobias Doerffel
58462500d0 SID: added new logo by mikobuntu
Added a logo remake by mikobuntu. Thanks!
(cherry picked from commit 56ee4db565)
2010-09-01 23:29:28 +02:00
Tobias Doerffel
59f3d81d37 Mirror Commodore logo on SID instrument (v2)
This is an attempt to improve commit c17bb3ba18. The logo has
been mirrored using ImageMagick which doesn't seem to mess up the 8 bit
alpha channel.
(cherry picked from commit 4763da4daa)
2010-09-01 00:26:24 +02:00
Tobias Doerffel
3fae87ae3d CMakeLists.txt: explicitely search for pthread and link against it
On Linux and OS X search for pthread library and link against it
explicitely. This fixes link problems on recent Linux distributions
where indirect linking (by dependencies) is disabled. Thanks to thm
for pointing out this issue.
(cherry picked from commit 1b84b360f4)
2010-08-31 19:21:33 +02:00
Tobias Doerffel
bf595cf285 ZynAddSubFX: added LED checkbox to disable forwarding of MIDI CC events
After introducing the control knobs it's not always desired to forward
all MIDI Control Change events to ZynAddSubFX. Therefore added an LED
checkbox which allows to disable forwarding of such events.

Closes #3055332.
(cherry picked from commit 0b7e37ca6a)
2010-08-31 16:41:23 +02:00
Tobias Doerffel
1669daa788 ZynAddSubFX: forward all MIDI events but NoteOn if muted
There's no reason for not forwarding MIDI events such as NoteOff,
ControlChange etc. when muted. Therefore only do not forward NoteOn
when muted.
(cherry picked from commit 39918f8835)
2010-08-31 16:41:20 +02:00
Tobias Doerffel
611a36e56b MidiEvent: added read method for type property
Even if the type property of the MidiEvent class is still public, there
should be a method for reading it.
(cherry picked from commit 1d5b62d61a)
2010-08-31 16:41:16 +02:00
Paul Nasca
c407bbe15b Bugfix extra "for" in adsynth
(cherry picked from commit e6bc35ff98e3f430a4d091aae8f059b7925179f3)
(cherry picked from commit ab2e117ed8)
2010-08-31 11:48:12 +02:00
Tobias Doerffel
380b0bfa9b Merge branch 'calf-updates'
* calf-updates:
  Use generic single VU meter in some dynamics plugins as well. (cherry picked from commit 50505a2d304555bb3b766c43af5cd1a27de331e2)
  Refactor metering code out of distortion plugins. (cherry picked from commit 84d873861da7b4ad205061b00fcc9f73c47140b6)
  More variable initialisation. (cherry picked from commit 40bbe048f27fc7190001383f93097127119ee667)
  Initialise old-state variables to prevent "stuck" graphs. (cherry picked from commit 2a795084ee9e73712a4b690b84158cc745ff1d30)
(cherry picked from commit cb52114261)
2010-08-31 11:41:50 +02:00
Tobias Doerffel
8ebdee61f6 PianoRoll: respect stacking order of notes
Notes are always drawn on-top of each other starting from the left
to the right. However the behaviour when clicking notes was reverse,
which made it quite hard to edit notes sometimes. Now the top most
note is edited/selected/moved/resized if notes overlay.

Closes #2808603.
(cherry picked from comit 28eb7e00bf)
2010-08-24 18:47:39 +02:00
Tobias Doerffel
9288998686 Merge branch 'calf-updates'
* calf-updates:
  Add Sidechain Gate, rename Gate to Expander, cleanups etc.
(cherry picked from commit 80a1b6b8e8)
2010-08-24 09:34:05 +02:00
Tobias Doerffel
819e6392cd SampleBuffer: for OGG files try with OGG Vorbis decoder first
This is workaround for a bug in libsndfile or our libsndfile decoder
causing some OGG files to be distorted. Therefore try the OGG Vorbis
decoder first if filename extension matches "ogg".

Closes #2957937.
(cherry picked from commit 6e64bcfc42)
2010-08-22 02:22:45 +02:00
Tobias Doerffel
d91c703725 ZynAddSubFX/QtXmlWrapper: fixed loading of oddly formatted presets
Some ZynAddSubFX presets have one or more leading blank lines which
confuses the QtXml module. Therefore dynamically remove characters from
the beginning of the data until we encounter a '<' character.

Closes #3047560.
(cherry picked from commit 32dbda5b33)
2010-08-22 01:03:47 +02:00
Tobias Doerffel
3a79dc1741 PianoRoll: allow chaning volume and panning of step notes
There's no reason to not allow changing volume and panning of step notes
in PianoRoll. Therefore simply check whether the length is not equal to
zero (which might be disabled step notes) instead of checking for length
being greater than zero.

Closes #2836799.
(cherry picked from commit 8286c1031d)
2010-08-19 00:17:41 +02:00
Tobias Doerffel
4e3072137b PianoRoll: fixed messed up editing modes when pressing Ctrl
There were some bugs when pressing Ctrl while in SelectMode. Fix this
by always setting m_ctrlMode and m_editMode in keyPressEvent() when
Ctrl was pressed.

Closes #2854958 and #2836576.
(cherry picked from commit 46c20bdcbd)
2010-08-18 23:58:49 +02:00
Tobias Doerffel
9cf0f4932a Song: reset global models in clearProject()
We have to reset global models such as tempo, master volume etc. before
clearing the global automation patterns attached to them. Fixes bug with
persistent automation on these controls when clearing project.

Closes #3046039.
(cherry picked from commit 2614474246)
2010-08-16 23:40:48 +02:00
Tobias Doerffel
54ce5b96f6 MeterModel: clear global automation patterns in reset()
When resetting a MeterModel we also have to clear global automation
patterns attached to it. Fixes bug with persistent automation data on
e.g. time signature widget when clearing project.
(cherry picked from commit 23a3efcac0)
2010-08-16 23:40:44 +02:00
Tobias Doerffel
89eae05a16 Renamed all automation related files and classes to match new coding style
All automation-related files and classes have been renamed to match the
new coding style.
(cherry picked from commit 9b280ffb3e)
2010-08-16 23:40:33 +02:00
Tobias Doerffel
b16e81ebff ControllerRackView: do not loose focus when adding controller
For an unknown reason the ControllerRackView looses focus when adding
a new controller. Fix this by explicitely calling QWidget::setFocus()
at the end of ControllerRackView::addController().

Closes #3046041.
(cherry picked from commit 676a6fbad1)
2010-08-16 23:39:04 +02:00
Tobias Doerffel
564ef08127 InstrumentTrackWindow: correctly disconnect from track's signals
We used QObject::disconnect() the wrong way leading to multiple
connections from InstrumentTrack::instrumentChanged() to
InstrumentTrackWindow::updateInstrumentView(). This resulted in
loading times being doubled each time you loaded a preset on the same
InstrumentTrack.

Closes #2934099.
(cherry picked from commit 9acb47a7a8)
2010-08-15 14:22:38 +02:00
Tobias Doerffel
cd08109847 InstrumentTrack: do not try to load "libconnection.so" in compat code
In compat code of InstrumentTrack::loadTrackSpecificSettings() also
check for nodeName being equal to ControllerConnection::classNodeName().
This avoids trying to load the non-existing instrument "connection".
In master branch this has been fixed ugly in commit 22c877d4 before,
however implement a cleaner solution which is also suitable for
backporting.

Closes #3021259.
(cherry picked from commit 65311ef2b4)
2010-08-15 14:00:11 +02:00
Tobias Doerffel
b9f5795da6 EffectView: fixed artifacts with semitransparent widget shadow
We must not set the Qt::WA_OpaquePaintEvent attribute when using a
semitransparent background image in paintEvent(). Fixes artifacts
in EffectView's shadowed border.
(cherry picked from commit d830e7f622)
2010-08-15 12:44:29 +02:00
Tobias Doerffel
48891a7de3 VstPlugin: use guarded pointer for pluginWidget
The pluginWidget of a VstPlugin (i.e. the VST editor) might be destroyed
outside VstPlugin's control resulting in a dangling pointer. This leads
to crashes for example when changing the model of an EffectView where a
VST plugin is attached, i.e. when re-opening a InstrumentTrackWindow of
an InstrumentTrack with a VST effect inside.

This can be fixed easily by using QPointer.

Closes #3045102.
(cherry picked from commit f4b84a6058)
2010-08-15 12:44:27 +02:00
Tobias Doerffel
6a99bb11af SampleTrack: fixed non-functional solo and mute buttons
The SampleTrackView did not explicitely have a SampleTrack model
attached and thus trackView::modelChanged() was not called. This way
SampleTrackView's mute and solo buttons were not connected to the
according models of the SampleTrack model. Fix this by calling
setModel() in SampleTrackView::SampleTrackView() (as done in
constructors of other track types too) and overload the
SampleTrackView::modelChanged() method.

Closes #3043836.
(cherry picked from commit 311bc92bde)
2010-08-14 00:26:34 +02:00
Tobias Doerffel
0770bda441 Renamed PATH_SEPARATOR to LADSPA_PATH_SEPARATOR and fixed it
Commit 4e9ebd09c6 introduced PATH_SEPARATOR
but with wrong syntax. Fixed this and renamed it to LADSPA_PATH_SEPARATOR.
2010-08-12 10:30:59 +02:00
Paul Giblock
09b5bc906e Use proper path seperator for LADSPA_PATH
According to http://www.ladspa.org/ladspa_sdk/shared_plugins.html,
LADSPA_PATH is supposed to be delimited by colons.  This patch does so,
except on Windows.  On Windows we use ';' instead of ':' since colon is
a legal character for a path.
2010-08-12 09:12:04 +02:00
Tobias Doerffel
d8594fad15 TrackContainerView: fixed dragged presets into BB Editor
When dragging preset files into BB Editor the patterns were messed up
because simple serializing was not enabled (and thus newly created
patterns were removed again). Fix this by enabling simple serializing
mode before calling InstrumentTrack::loadSettings().

Closes #3041686.
2010-08-11 17:54:41 +02:00
Tobias Doerffel
1d50e6b42e Default theme: improved tooltip appearence
Thanks to mikobuntu for this patch.
(cherry picked from commit 2ed12b138d)
2010-08-11 17:31:51 +02:00
Tobias Doerffel
6c9dc19eb4 ZynAddSubFX: save and restore settings of new knobs
When adding the new knobs for automatable parameters of ZynAddSubFX,
I forgot to include them in the save/load routines.
(cherry picked from commit 534c4debb5)
2010-08-11 00:48:33 +02:00
Tobias Doerffel
3502bbccf8 CMakeLists: print warning about missing Mallets instrument instead of Stk
The Vibed plugin has nothing to do with STK. Instead the Mallets
instrument plugin is meant. Fixed.
(cherry picked from commit a0ef88908c)
2010-08-11 00:29:13 +02:00
Tobias Doerffel
ec19be69cd Added missing FileAssociation.nsh
Commit 07a7442758 includes the new file
FileAssociation.nsh which was not added in that commit. Fix this.
2010-08-06 01:38:10 +02:00
Tobias Doerffel
07a7442758 Win32/64 installer: associate LMMS project files with LMMS
Added some NSIS commands to associate LMMS project files with LMMS
during installation.
2010-08-06 01:33:49 +02:00
Tobias Doerffel
9e98dec0c4 Manpage: fixed duplicate help item and updated program description
Thanks to pgib who pointed out the duplicate help item for the
--interpolate option. Additionally updated the program description.
(cherry picked from commit 5f131f1a69)
2010-08-06 01:31:41 +02:00
Tobias Doerffel
12d2cd3064 Made 0.4.7 release
Bumped version number to 0.4.7 in CMakeLists.txt and README.
v0.4.7
2010-08-02 16:36:34 +02:00
Tobias Doerffel
e1e36e6831 ZynAddSubFX/FLTK: added missing source file
The Windows builds of FLTK require Fl_GDI_Printer.cxx. Add it here.
2010-07-31 20:51:00 +02:00
Tobias Doerffel
eeaa13f7d0 CMakeLists.txt: copy zlib1.dll into Windows package
The MinGW packages have changed such that zlib is an external library
again (instead of built-in into QtCore), therefore we need to copy the
according DLL into the Windows package.
2010-07-31 20:48:41 +02:00
Tobias Doerffel
042dda146c CMakLists.txt: added lmmsconfig.h.in and build_mingw64 to dist target
Added lmmsconfig.h and build_mingw64 to dist target so they get packaged
into a release tarball.
2010-07-29 14:00:29 +02:00