* Draws a transparent rectangle in the loop area (plus CSS exposure)
The color for the rectangle can be defined in the style CSS for the
active and inactive case. The following properties of the TimeLineWidget
are exposed through the CSS:
- The color of the lines that are drawn for each bar
- The color of the bar numbers
- The font size (given in pt)
- The minimum and the maximum height of the widget (given in em so that it scales with the font size). Set both to the same value to set a fixed size.
- The background of the widget
- A loop color: The color for the main rectangle's pen
- A loop brush: The brush used to fill the main rectangle
- An inner loop color: The color used for the pen that draws the inner border.
- loopRectangleVerticalPadding: specifies the padding used for the loop indicator rectangle.
The bar numbers are drawn conditionally like the bar lines. The
numbers are drawn with a constant distance to the tact line. This gives
a more consistent picture at different zoom levels and also fixes the
broken look at very small zoom sizes like for example 12.5%.
The bar numbers are drawn with hinting so that they show up less blurry on low DPI displays.
Remove the pixmaps that have been used up to now to draw the loop
boundaries.
Removes the unused "TimeLine" from style.css.
Document the style sheet properties for the loop indicator rectangle.
* Draw flat, borderless, semi-transparent and sharp-cornered notes; Increase the contrast of the grid
* Convert the note gradient to a horizontal one
* Increase opacity for better visibility
* Reinstate borders, make the fill semi-transparent
* Some cosmetic touch-ups
* Make border width themeable
* Set a boolean for borderless properties
* Rename borderlessNotes to noteBorders
* Make scrollbars consistent over the software; Add padding to the scrollbars; Make the PianoView background themeable
* Make the scrollbar hover color brighter
* Fix missing scroll back on stop in Song Editor
* Fix missing scroll back on stop in Song Editor
* Avoid scrolling the Song Editor when scrolling is disabled.
* Handle the smooth scroll in scroll back
* Remove leading underscore from fonction parameters name
* Put back spaces around parameters (Removed by mistake)
* Fix command-line help, add --config option and use local lmmsrc file in dev mode
* Fix a typo in help screen for option --geometry (second dash missing)
* Replace tabs with spaces in help screen
Update man page
* Lineup items in help screen
* Accept both -geometry and --geometry as valid options
In the course of 32b7e04, I removed the channel lock from FxChannel because
I was under the impression that it was only needed to prevent crashes on
channel delete. However, at least two people experience crackling audio
after it was removed (#2708). Therefore, this commit reinstates it.
- Additional LMMS_BUILD flag.
- Disallow on plugins -Wl,-no-undefined which triggers undefined references.
- Make sure X11 headers are found.
Lib ossaudio is needed only for OpenBSD
redundant expression removal
simplify condition for detection OS 'kind'
seems the last commit brought an issue on OSx travis test ....
Lock the mixer before performing a channel delete to prevent any race
conditions causing a crash. Also, update the audioport FX channel when
an InstrumentTrack's FX channel is changed to prevent the audioport
mixing to a nonexistent channel.
The fix works as follows: until now the method Knob::drawKnob has used
hard coded palette colors to draw the knob lines for the different knob
types. These palette colors are now assigned to the line color property
in Knob::initUi. The method Knob::drawKnob in turn now uses the line
color property for almost all knob types. This means that all knobs
lines will be painted in the same color as before unless that property
is overridden by the stylesheet.
Also removes an unnecessary typedef from QWidget to trackSettingsWidget
in Track.h.
This prevents a race condition with Qt5. A foreach loop makes a copy of its
Qt container, increasing the reference count to the container's internal
data. Qt5 often asserts isDetached(), which requires the reference count to
be <= 1. This assertion fails when the foreach loop increases the reference
count at exactly the wrong moment. Using a range-based for loop prevents an
unnecessary copy from being made and ensures this race condition isn't
triggered.
Removes the knob image knob04.png. This knob corresponded to
knobGreen_17 which was not used anywhere in the code. To be able to
remove the enum value it was necessary to change the knob loading code
in Knob::onKnobNumUpdated. However, the changed implementation is more
explicit and therefore likely better to understand.
Removes some repeated calls to Qt's font layouting by using QStaticText
in FxLine and removing the overridden method ComboBox::sizeHint.
Unifies Mixer::peakValueLeft and Mixer::peakValueRight into
Mixer::getPeakValues so the array is only iterated once.
The methods NotePlayHandle::index and NotePlayHandle::nphsOfInstrumentTrack
had not yet been brought up-to-date with the new system of attaching child
NotePlayHandles directly to the mixer. This caused strange glitches when
arpeggio was used in sort mode.