Removes the warning "MemoryManager: Null pointer deallocation attempted"
from MemoryManager. The warning does not make sense because
deallocations of null pointers are ok in C++.
Fixes#2023.
Fix declaration of return value.
Add mapping and new menu option for octave-marking of semitones.
Finish switch case for add/remove multiple octave semitones.
Fix segfault due to illogical access using iterators from one collection on another.
Make loop more succinct.
Move PianoRoll::getAllOctavesForKey method to private access.
Until now windows/widgets that were invisible during the call to
MainWindow::saveWidgetState had their size stored as (0, 0). This
resulted in problems when the default template was created with
invisible windows because in new projects these windows then opened up
at a very small size.
This patch fixes the problem by introducing a new parameter of type
QSize to MainWindow::saveWidgetState. It can be used to communicate the
size that should be stored in case the widget that calls the method is
invisible. The code of most callers (PianoRollWindow, SongEditor, etc.)
has been updated to use good default sizes.
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.
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.