Draws note labels on all (white) keys when selecting to do so in the
preferences ("Enable note labels in piano roll"). The old rather messy
implementation that drew them all over the place has been removed.
When rendering note names on the keyboard keys the C notes are rendered
in a darker color than the other ones. Horizontal lines which do not
correspond to the C key are now also rendered in a more subtle way to
give more prominence to the start of an octave.
The user selected scale is now highlighted in a more subtle way.
The note borders are not toned down in relation to the volume anymore.
The handles on the right side of each note have been made slimmer and
shorter.
The user might invoke cmake with CFLAGS containing "-m32" or (on OS X) "-arch i386" while on a 64-bit machine to indicate that it should build for 32-bit instead.
Puts the controls of the InstrumentTrackWindow into a grid layout to
give them a more balanced look. Without this patch the labels of the
widgets are not aligned which gives the instrument controls a rather
unbalanced look.
Added a "SAVE" label for the preset button to make the layout more
balanced.
This adds libsoundio (http://libsound.io/) as an available audio
backend. libsoundio supports JACK, PulseAudio, ALSA, CoreAudio,
WASAPI, and a dummy backend.
Do not call baseName on the path passed to -o when using the --rendertracks
option. This was mangling directories that contained a literal '.' if a '/' was
not explicitly specified at the end.
Still call baseName for --render as the argument to -o is a file and we need to
set the extension (ogg/wav).
This command allows rendering each track of a song to a different file.
It should provide the same functionality as the "Export Tracks" GUI option.
Usage could look like:
lmms --render-tracks project.mmpz -f ogg -o output/
Remove the rendering logic from the gui code in ExportProjectDialog and let
RenderManger handle it instead.
This is part of an effort to allow the CLI and the GUI to share the same
rendering logic, setting the state for a --render-tracks CLI option similiar to
the "Export Tracks" GUI option.
Much of the multi-track rendering logic was intermixed with GUI code in
ExportProjectDialog.
This creates the RenderManager class to provide rendering logic that could be
shared between the CLI and GUI interfaces.
Currently ProjectRenderer has a helper getFileFormatFromExtension, this adds a
similar helper getFileExtensionFromFormat.
This will, for example, return "ogg" for OggFile.
The piano roll's actions have been grouped into several toolbars. There
are now five groups / tool bars: "Transport controls", "Note controls",
"Copy paste controls", "Timeline controls" and "Zoom and note controls"
(this group is a bit mixed). Each group can be turned off and on using
the standard toolbar context menu provided by Qt.
The new default layout of the toolbars saves horizontal space by putting
the "Zoom and note controls" below the other toolbars. The toolbars can
be hidden and shown via the context menu but these states are not
stored.
The "Song editor", "Beat+Bassline editor" and "Automation editor" have
been switched to using movable toolbars as well.
Adjusted the Editor class to have some other defaults for the "Transport
controls".
Added some methods to add toolbars to editors and changed the other
editors' code to use it. This way the properties of a standard editor
toolbar can be changed in a simple and central way.
Fixed the size of the timeline control buttons which are implemented as
NStateButton. Previously these had a fixed size and appeared smaller than
all other buttons. Now they behave like other ToolButton with respect to
the size. Also removed a fixed size call in ToolButton itself.
Made some adjustments to the CSS for QToolBar and QToolButton:
* Switched the QToolBar CSS to a vertical gradient and also increased
the padding to 2px on the way.
* Previously all buttons looked like they were pressed. This was fixed by
using the same linear gradient that is used for the QToolBar.
* The hover effect for QToolButtons is a bit more subtle now and looks
less intensive as when the button is pressed / checked.
* Gave the normal buttons a bit more radius.
* Adjusted the radii of the special play and stop buttons to be
symmetric so the do not look skewed.
note: Qt's foreach actually duplicates the container before iterating, as well (not hugely problematic for performance since Qt containers are copy-on-write, but is still semantically misleading)
Until now the tension knob was only disabled for discrete and linear
mode if the cubic hermite mode was selected at least once. This behavior
is fixed with this commit.
Fixes a crash that occurred when the tension dial of the automation
editor was moved when no pattern was loaded.
Also added a missing update of the tension dial when the automation
patterns are switched.