LMMS now properly builds and runs with Qt5. Various deprecated functions
had to be replaced like QString::toAscii()/fromAscii(). Also occurences
of FALSE/TRUE have been replaced with false/true.
LmmsStyle now derives from QProxyStyle and sets a style instance as base
style (Plastique for Qt4, Fusion for Qt5).
MOC files are not included anymore but added as regular source files.
What's missing is support for embedding VST plugins into a subwindow
inside LMMS on Linux/X11 due to missing QX11EmbedContainer class in Qt5.
Build instructions can be found in INSTALL.Qt5
Minimum version requirement for Qt4 has been raised to 4.6.0 for best
API compatibility between Qt4 and Qt5.
The engine class as the component instance manager is the wrong place to
control the play/pause buttons. Instead emit a signal in the Song class
and update the buttons in a slot in MainWindow. This fixes problems with
GUI/pixmap operations happening outside the GUI thread when exporting a
project.
Closes#435.
Fixes#386.
When selecting the filter in the file save dialog, the file name used to change to *.mmp. As this is not desired, this commit changes it to '.mmpz'.
As undo/redo are not working properly at the moment, do not expose
according menu items to the user. This will be fixed in upcoming releases.
Closes#152.
A file save dialog (inherits FileDialog) that provides buttons to
increment or decrement a version which is appended to the file name.
(e.g. "MyProject-01.mmpz")
Also removed all blocks similar to
```
#if QT_VERSION >= 0x040806
filedialog.setOption( QFileDialog::DontUseCustomDirectoryIcons );
#endif
```
as this now takes place in the new subclass's constructor.
Due to various bug reports, I think we should turn off auto save per
default. Users who want this feature can turn it on explicitely (and
live with problems when they have big projects).
Here is the patchset for my multiple track export feature. It works now
the way I originally envisioned.
For example, after I export tracks on my little song, I see this in the
directory I created:
devin@devin-studio:~/lmms/projects/fff$ ls
0_Defaultpreset.wav 3_Defaultpreset.wav 6_csidSouwav.wav
1_Defaultpreset.wav 4_spacenoiseswavwav.wav 7_HHOPENwav.wav
2_Defaultpreset.wav 5_csidkickwav.wav 8_HHOPENwav.wav
Each instrument or sample track is exported individually, regardless of
whether in its own song track or playing as part of a BB track. The
name is taken from either the song track name or from the BB track name.
My goal was to get the tracks individually exported, so that I could
combine them with other tracks in Ardour.
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
It's a very bad idea to autosave while playing as this causes severe
underrun problems. Therefore instead of autosaving, trigger a re-try
timer for 10 seconds.
Closes#3317776.
every time auto-save ran, it would change the current project to
"recover.mmp". Now it doesn't do this because Song has
guiSaveProject(), guiSaveProjectAs(), and saveProjectFile().
(the latter is used for auto-save)
(cherry picked from commit 953522f34a)
auto-save time is not configurable yet. saves "recover.mmp" to
WORKING_DIR every 60 seconds. Deletes recover.mmp on successful
close of LMMS. If recover.mmp is found upon start, it loads that
project.
(cherry picked from comit f73ccadc17)
There's no need to implement an own (buggy) window activation history
for InstrumentTrackWindows. Use QMdiArea::subWindowList(...) instead.
Fixes buggy keyboard focus when switching between InstrumentTrackWindows.
(cherry picked from commit c05965117c)
Added a one-window-mode which allows to have only one instrument track
window open at a time. The content of this window is replaced each time
you open a different track.
Furthermore added global reception and forwarding of key events to the
piano widget of the top-most instrument track window. This for example
enables the user to play test sounds while tweaking some effects in a
different subwindow.
(cherry picked from commit 93681760d2)
Integrates Sami Boukortt's patch described below:
I have made a patch for the “Save changes?” dialog box to let the user choose
between “Save”, “Discard” and “Cancel” instead of “Yes”, “No” and “Cancel”.
I find this way more intuitive, since it enables Qt to reorganize the buttons
properly according to the platform and to give them an icon (at least on X11).
It also allows users to know what is going to happen without having to read
the question.
(cherry picked from commit f9015ac945)