(Addresses #1421)
**Behaviour description:**
* Toggle step-recording mode using the dedicated icon.
* This mode is mutually exclusive with other recoding modes (record/record
accompany).
* Step-Recording while song is playing is allowed (and fun! :) ).
* When start recording, the start recording-position will be set where the
timeline curser points (quantized backwards using PianoRoll's current
quantization). If step-recording is started while the pattern is playing the
start recording-position is set to the beginning of the pattern.
* Step length is determined by the Piano Roll's current note-length (can be
changed dynamically during step-recording).
* The record-position can be moved forward/backward using the right/left keys.
* When notes are pressed on keyboard/midi-device, they will be added
temporarily ("recorded") with a length of a step. while still pressed, user
can adjust the length by steps resolution using the arrow keys (e.g. moving
right once will make the note's length 2-steps, another right press will make
the length 3-steps etc.).
* When all pressed-keys are released, the actual recording happen and the
notes are added.
* If the user press multiple notes, and release some of them for some time
which indicates it is intentional i.e. he didn't want to do a full release
to record the step but rather just change what will be recorded (I set the
"intentional release threshold" to 70 milliseconds) - these note will be
removed from current step-recording. e.g.
* Added notes are not quantized, making the addition simpler and WYSIWYG
* Similiarly to adding notes using mouse clicks, an undo-checkpoint is added
per added step and not for the whole recording as in other record modes.
Lets you set a melody pattern as visible in the background of the Piano Roll
as support when building a new pattern. The pattern is visible throughout
the session or until cleared via the provided button.
* Update the LMMS logo and mimetypes
* fix bmp for nsis installer
* Update window and About icons, rename icons, change the file association logic
* Fix NSIS
* Revert nsh patch
* Fix small icon
* Always write DefaultIcon in the registry
* Fix file permissions
* Fix nsis branding
* Fix nsis branding #2
* update the icon windows and linux
* Update apple icon, add windows visual manifest
* try to fix windows installation
* typo
* typo 2
* Set small logo to conform to 48x48 grid
Make the oscilloscope colors available as properties so that they can be
changed via style sheets. Adjust the existing styles to use the colors
that have been hard coded previously.
Cleanup the paintEvent method of VisualizationWidget, e.g. by extracting
a method to determine the color to use for the line and by pulling
variables to the place where they are used. Fix some Clang warnings.
Add the option to show note values on notes in the Piano Roll. This
functionality is currently coupled with the option "Enable note labels
in piano roll" which can be found in the main menu.
The notes are rendered at about 80% of the notes height. They are only
rendered if they fit on the whole note and if the font does not become
too tiny.
Enable the configuration of the note value text's color via the
stylesheets and set the value to white for both shipped themes.
Other changes:
* Clean up some warnings about old school casts and implicit casts.
Expose properties to set the colors for note borders and note fills for
patterns to the style sheets. Both properties are exposed for the muted
and not muted case. Use these new properties during rendering.
Adjust the style sheets for the classic and default theme.
Add a new property "textBackgroundColor" to TrackContentObjectView to
expose the property to the style sheets. Use this property in the code
that renders the text labels.
Adjust the two existing style sheets.
Add the method paintTextLabel to TrackContentObjectView. This methods
implements the painting of a given text on a given painter. The new
implementation does not draw any text label in case the trimmed text
becomes empty.
Use the method paintTextLabel to paint the text for automation patterns,
BB patterns and instrument patterns.
Adjust the style sheet of the classic and default theme by moving the
font definition from PatternView into TrackContentObjectView so that it
can be used by all inheriting classes.
Use the font properties that are defined in the CSS to draw the pattern
labels. This provides flexibility with regards to the font properties
that are used (size, font family, etc.).
Adjust the CSS for the default theme and the classic theme.
* First version of artwork tabs for the InstrumentTrackWindow.
This version can only display & manage artwork tabs, which breaks
the InstrumentSoundShapingView as it still uses text tabs.
I'm planing to improve this implementation to let these artwork tabs fall back
to text mode when no artwork is given. This would solve the problem of the
InstrumentSoundShapingView.
* Second version of artwork tabs for the InstrumentTrackWindow.
This version will draw an artwork tab when the TabWidget::addTab function is given
a pixmapName. Otherwise, when pixmapName is NULL, it will fall back drawing a text
tab.
* Created artwork for the artwork tabs.
* 1st PoC for autosizeable artwork tabs.
* TabWidget is 20 pixels tall when it's going to display artwork tabs.
* Added tooltip support for the TabWidget class.
Atm, tooltips are simply tabs' name.
* Imported artworks from RebeccaDeField
* Reverted to 12px tall TabWidget
* Fine tuning for the positioning of artwork tabs: Take into account the caption 'space.
* New artwork for the ENV/LFO tab (has now an ADSR-based look)
* 1) Tabs in TabWidget class have now a "tooltip" attribute. So that they can now show
more meaningfull information then simply the tab's name.
2) Fixed the compilation problem with QT5
* Fine tuning the positioning of highlighted artwork tabs.
* Fixed an issue in TabWidget's artwork tabs autosize function that makes gdb crash
with SIGFPE.
* TabWidget is 17 pixels tall when it's going to display artwork tabs.
* Removed underscore prefix for function parameters as coding convention has changed.
(Request at https://github.com/LMMS/lmms/pull/2599/files/dccf9f411996c8c866ff1086b65f15020ef08cd9#r61165005)
Cyrille
* Removed background gradient for TabWidget as LMMS is going to a more flat design.
Cyrille
* Increased the graphical TabWidget's height by 2 pixels for eye-candy.
The InstrumentTrackWindow's height has been increased by the same amount.
Cyrille
* Removed gradient in GrouBox widgets as LMMS is going for a more flattened design.
Cyrille
* Made the background of TabWidget themeable
Cyrille
* The highlighting color for a TabWidget'selected tab is now themeable.
* Made TabWidget's Title text and tab text themeable.
* Added a darker background to the TabWidget's tab bar.
* Further flatened the design of TabWidget
* Flatened the design of the GroupBox widget
* Fine tuning the placement of TabWidgets' highlighting background
+ some code cleaning in TabWidgets
* Made the TabWidget's title background and borders themeable
* TabWidget - Artwork tabs: Do not change the icon color when it is highlighted
* TabWidget: Made the artworks' color themeable
* Adapted format to follow LMMS coding conventions
* Some more blank spaces to tabs translation to comply with LMMS coding standards.
* Some more blank spaces to tabs translation to comply with LMMS coding standards.
* Revert "TabWidget: Made the artworks' color themeable"
This reverts commit 5b162c07e2.
Conflicts:
src/gui/widgets/TabWidget.cpp
Reason: Artwork's color themeability had the side-effect that it removed the artworks' alpha
channel, thus making them ugly.
* Made GroupBox's background color themeable
* Update background color, only use one set of images
* Use name as tooltip, more descriptive names
* Update icons and colors
* more things
* formatting fixes
* Remove update() from constructor
* Ailiasing in AutomationPatternView; ERROR: Doesn't draw unreferanced tracks
* Draws one polygon instead of 'poly'-polygons
* Changed QPoints to QPointF
* Added int MidiTpT constant
* Added ppTact for reduced computation
* Added spaces in parentheses to be consistent
* Variable name change and spacing
* S P A C E S
* Anti-Aliasing of Automation Editor
* Commented out all referances to unused is_selected
* Changed css to non-gradient graphs
* Added Brackets
* Removed no-pixel line at bottom of graph
* Revert "Added Brackets"
This reverts commit ff801868b7.
* Revert "Revert "Added Brackets""
This reverts commit 4e127a78df.
* Revert "Removed no-pixel line at bottom of graph"
This reverts commit 940c766b61.
* Make dem grid ndasd
* grid BG
* fix bug in scroll behavior
* debugging scrolling
* Add CSS property, port to automation editor
* Fix a fail
* Spaces to tabs
* Use fillRect rather than drawRect
* Implement @vlad1777d's idea
* Seperate loops and stuff
* Finish up Piano Roll Grid
* Cleanup
* Redesign the grid for the Automation Editor
* Update colors
* Formatting changes
* formatting changes II
* SideBarButton set text below the icon
* change color of checked sidebarbutton
* adds a space to the sideBarButton title
* add gradient to checked side bar button
* whitespaces
* Fixed showing of velocity of steps.
* More contrast between muted and unmuted steps.
* Corrected opacity of volumes over 100.
* Single pixmap draw per step and step opacity is calculated using sqrt function.
* Using step_btn_on_100.png created by Umcaruje.
* Disable minimization on all subwindows
* Change the maximize button icon
* Remove redundant boolean
* Make the maximize icon play better with the close icon
* I removed too much maaan
* Fix spaces
* Change comments
* rename FxLine directly in a QLineEdit
* set project modified only if FxLine text is changed
* clean up some code. Optimize some things
* optimizing code / removing a couple of member variables
* minor code optimizations
* turn off the tool tip in rename mode / minor code changes
* makes Tracks themable in style.css (#2889)
* change the active title bar color/adds a thin line on top of title bar (#2912)
* Make the window border lighter (#2911)
* Color Updates (#2940)
* Increase the lightness of active FxLine (#2945)
* Sidebar tweak (#2954)
* Fix dialog button mismatch
* Change order in menu
* Make buttons the same role, so we have custom ordering
* Hide the exit button, add a close button to the dialog, change ordering
* Make the exit button not visible
* 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