Introduce the new class SimpleTextFloat which simply shows a text and
that works like a pseudo tool tip with a narrow margin. It was extracted
from TextFloat to adhere to the single responsibility principle.
The new class is used by:
* Fader: display the current volume when moving the fader
* Knob: display the current value when the knob is moved
* PianoRoll: display the current value when setting the note volume and
panning
Add stylings for the new widget in style.css.
Improve the readability of text floats by removing the hard coded pixel
font size. The widget is now composed of three QLabels which are used to
display the title, text and pixmap. Remove the methods paintEvent and
updateSize because the widget is now updated automatically whenever the
QLabels change state.
Merge both versions of TextFloat::displayMessage because one of them was
only called by the other.
The default constructor of TextFloat now delegates to the "full"
constructor. The latter is private because it is only used from within
displayMessage.
The methods setTitle, setText and setPixmap show/hide their
corresponding labels depending on whether there is text or a pixmap to
show.
Adjust the class Fader so that the text float is shown to the right of
the fader. Otherwise the new implementation would have covered the fader
while it is being moved.
The SampleBuffer's sample rate in SampleClip was altered twice during
SampleClip::loadSettings: first when setSampleFile was called,
which set the sample rate of the SampleBuffer to the AudioEngine's
sample rate (good), and a second time when calling setSampleRate,
which set it to the sample rate specified within the project file (bad).
This led to the sample rate of the buffer being different than that of
the project, resulting in it being pitched incorrectly on playback.
* Position line height fits all tracks when line is moved or updated
* Refactor track height calculation; create connection to update position line height
PR #6438 does 2 things:
1. Add check-namespace
2. Fix verify script
This PR contains only part 2 (and does some preparations for part 1). The goal of the PR is to make CI succeed on master.
* Transpose midi clips in song editor
* Fix undo stupidity
* Check boundries when transposing clips
and move transpose function to NoteVector
* Avoid update if nothing has changed
* Make getNoteBounds a separate function
* Rename getNoteBounds to boundsForNotes
* bool operator instead of optional + qobject_cast
* Revert "bool operator instead of optional + qobject_cast"
This reverts commit 98c56a96cf.
* qobject_cast and nullopt