Commit Graph

2637 Commits

Author SHA1 Message Date
Tobias Doerffel
dd4e7c8aaf Revert "PianoView: call InstrumentTrack::silenceAllNotes() on focus out"
This reverts commit 2f921303eb.
2010-09-02 01:53:25 +02:00
Tobias Doerffel
eb673c0ad5 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.
2010-09-02 00:05:33 +02:00
Tobias Doerffel
2f921303eb 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.
2010-09-01 23:51:43 +02:00
Tobias Doerffel
4e695a4ea8 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.
2010-09-01 23:23:13 +02:00
Tobias Doerffel
56ee4db565 SID: added new logo by mikobuntu
Added a logo remake by mikobuntu. Thanks!
2010-09-01 22:26:12 +02:00
Tobias Doerffel
4763da4daa 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.
2010-09-01 00:25:04 +02:00
Tobias Doerffel
c560ae4207 Revert "Mirror Commodore logo on SID instrument"
This reverts commit c17bb3ba18.
2010-09-01 00:09:37 +02:00
Paul Giblock
c17bb3ba18 Mirror Commodore logo on SID instrument
Try to stay out of legal trouble.  Not the *best* GIMP work ever, but it
looks pretty good.
2010-08-31 14:09:31 -04:00
Tobias Doerffel
1b84b360f4 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.
2010-08-31 19:18:09 +02:00
Tobias Doerffel
0b7e37ca6a 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.
2010-08-31 16:40:15 +02:00
Tobias Doerffel
39918f8835 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.
2010-08-31 15:22:55 +02:00
Tobias Doerffel
1d5b62d61a 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.
2010-08-31 15:20:51 +02:00
Paul Nasca
ab2e117ed8 Bugfix extra "for" in adsynth
(cherry picked from commit e6bc35ff98e3f430a4d091aae8f059b7925179f3)
2010-08-31 11:45:59 +02:00
Tobias Doerffel
cb52114261 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)
2010-08-31 11:40:52 +02:00
Krzysztof Foltman
1d759dc239 Use generic single VU meter in some dynamics plugins as well.
(cherry picked from commit 50505a2d304555bb3b766c43af5cd1a27de331e2)
2010-08-31 11:40:41 +02:00
Krzysztof Foltman
d22dbc7d70 Refactor metering code out of distortion plugins.
(cherry picked from commit 84d873861da7b4ad205061b00fcc9f73c47140b6)
2010-08-31 11:39:53 +02:00
Krzysztof Foltman
017e382b35 More variable initialisation.
(cherry picked from commit 40bbe048f27fc7190001383f93097127119ee667)
2010-08-31 11:31:16 +02:00
Krzysztof Foltman
9845de9d94 Initialise old-state variables to prevent "stuck" graphs.
(cherry picked from commit 2a795084ee9e73712a4b690b84158cc745ff1d30)
2010-08-31 11:31:06 +02:00
Tobias Doerffel
b38eab0075 FxMixer: rewrote processing of FX channels
Rewrote the way FX channels (FX lines) are processed, i.e. the
calculation when to process which channel. This patch based on a patch
by Stefan Fendt but includes further improvements regarding
multithreading.
2010-08-30 17:32:19 +02:00
Tobias Doerffel
efee8ab147 PianoRoll: fix last commit
Commit 28eb7e00bf was based on a patch
created for the stable-0.4 branch. It therefore used note::selected()
instead of note::isSelected().
2010-08-25 00:35:07 +02:00
Tobias Doerffel
28eb7e00bf 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.
2010-08-24 18:42:49 +02:00
Tobias Doerffel
80a1b6b8e8 Merge branch 'calf-updates'
* calf-updates:
  Add Sidechain Gate, rename Gate to Expander, cleanups etc.
2010-08-24 09:33:22 +02:00
Markus Schmidt
62ba7d676b Add Sidechain Gate, rename Gate to Expander, cleanups etc.
(cherry picked from commit fd70348c38a139e6f90a7a20f833b5eb2b926694)
2010-08-24 09:28:50 +02:00
Tobias Doerffel
6e64bcfc42 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.
2010-08-22 02:18:34 +02:00
Tobias Doerffel
32dbda5b33 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.
2010-08-22 01:00:24 +02:00
Tobias Doerffel
8286c1031d 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.
2010-08-19 00:14:19 +02:00
Tobias Doerffel
46c20bdcbd 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.
2010-08-18 23:55:04 +02:00
Tobias Doerffel
2614474246 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.
2010-08-16 20:28:53 +02:00
Tobias Doerffel
23a3efcac0 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.
2010-08-16 20:25:26 +02:00
Tobias Doerffel
9b280ffb3e 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.
2010-08-16 20:21:18 +02:00
Tobias Doerffel
676a6fbad1 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.
2010-08-16 18:09:48 +02:00
Tobias Doerffel
9acb47a7a8 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.
2010-08-15 14:19:43 +02:00
Tobias Doerffel
65311ef2b4 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.
2010-08-15 13:56:25 +02:00
Tobias Doerffel
d830e7f622 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.
2010-08-15 12:40:10 +02:00
Tobias Doerffel
f4b84a6058 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.
2010-08-15 12:34:10 +02:00
Tobias Doerffel
311bc92bde 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.
2010-08-14 00:23:13 +02:00
Tobias Doerffel
114c1973e2 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:29:37 +02:00
Paul Giblock
1473bc5eac Bump required Qt version to 4.6.0
We now require qt-4.6.0 due to QProxyStyle.  I'm we can use some other
enhancements introduced since 4.4.0 anyways.
2010-08-11 21:51:16 -04:00
Paul Giblock
4e9ebd09c6 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-11 21:40:54 -04:00
Tobias Doerffel
2ed12b138d Default theme: improved tooltip appearence
Thanks to mikobuntu for this patch.
2010-08-11 17:30:21 +02:00
Tobias Doerffel
534c4debb5 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.
2010-08-11 00:45:55 +02:00
Tobias Doerffel
a0ef88908c 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.
2010-08-11 00:27:13 +02:00
Paul Giblock
9f2640946e Use QProxyStyle support in DefaultStyle
The specializations to utilize different styles is a nice idea, but it
is hard to discover which styles a user may have installed.
Additionally, it would be impossible to override a system style.  This
patch implemnts ClassicStyle as a QProxyStyle.

This additionally fixes the missing dependency on toolbar_bg. Utilize
CSS now.
2010-08-07 18:35:49 -04:00
Paul Giblock
69d3a3d748 Ignore target/; I like to install LMMS there
I like installing lmms into a target/ directory. Add an ignore rule for
it.
2010-08-07 18:33:28 -04:00
Tobias Doerffel
698f321e69 ResourceProvider+subclasses: added doxygen comments
Documented the whole ResourceProvider class and important parts of the
subclasses.
2010-08-07 00:07:54 +02:00
Tobias Doerffel
93681760d2 InstrumentTrackView: added one-window-mode + global piano focus
Added a one-window-mode which allows to have only one instrument track
window open at a time. The content of this window is replaced each time
you open a different track.

Furthermore added global reception and forwarding of key events to the
piano widget of the top-most instrument track window. This for example
enables the user to play test sounds while tweaking some effects in a
different subwindow.
2010-08-06 23:05:00 +02:00
Tobias Doerffel
1320741feb Added missing FileAssociation.nsh
Commit 07a7442758 includes the new file
FileAssociation.nsh which was not added in that commit. Fix this.
(cherry picked from commit ec19be69cd)
2010-08-06 01:39:27 +02:00
Tobias Doerffel
aceb283119 Win32/64 installer: associate LMMS project files with LMMS
Added some NSIS commands to associate LMMS project files with LMMS
during installation.
(cherry picked from commit 07a7442758)
2010-08-06 01:35:02 +02:00
Tobias Doerffel
5f131f1a69 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.
2010-08-06 01:29:35 +02:00
Tobias Doerffel
7b85371a38 More MinGW64 fixes
Some more trivial fixes for successfully compiling for Win64.
2010-07-28 21:26:21 +02:00