Commit Graph

202 Commits

Author SHA1 Message Date
Alexandre Almeida
6e081265ba Rename MidiTime to TimePos (#5684)
Fixes #4866
2020-11-29 19:46:13 +01:00
thmueller64
1949f93f10 Add checkboxes for selecting user and factory content (#5786)
Co-authored-by: IanCaio <iancaio_dev@hotmail.com>
Co-authored-by: Dominic Clark <mrdomclark@gmail.com>
Co-authored-by: Kevin Zander <veratil@gmail.com>
2020-11-26 22:25:32 +00:00
Kumar
2da0aaa460 Enable LMMS fullscreen and... (long title, read first line of description) (#5563)
* Enable fullscreen with hotkey & hotkey to toggle maximise in internal window

* Fix an obvious blunder

* Add fullscreen menu entry

* Change Alt+F11 to Shift+F11 (fix Windows bug)

* Move F5-F10 to Ctrl+F*, fullscreen by F11 and fix Linux bug

* Remove wrongly placed "fullscreen" attribute

* Remove temporary fixes for redundant bug

* Rename maximise to maximize

* Rename maximise to maximize

* Use fullscreen icon instead of maximise icon

* Actually include the icon in the commit

* Replace .svg icon with .png 16x16 icon

* Migrate editor hotkeys to Ctrl+1-7
2020-07-11 11:30:27 +02:00
Johannes Lorenz
2a66e83f53 Lv2 core implementation
Implementation of the Lv2 core, except for CV ports. No features or
extensions are supported yet.

You can now generate sound using Lv2 instruments (restricted to non-piano)
or effects.

For an explenation about the new classes, see Lv2Manager.h
2020-05-24 12:50:50 +02:00
Kevin Zander
1a6f4c1104 Add option to move SideBar to right side of window (#5114) 2020-05-05 11:46:25 +09:00
Hyunjin Song
044c88c271 Merge branch 'stable-1.2'
# Conflicts:
#	.gitmodules
#	.travis.yml
#	.travis/linux..before_install.sh
#	.travis/linux..install.sh
#	CMakeLists.txt
#	cmake/linux/package_linux.sh.in
#	cmake/modules/BuildPlugin.cmake
#	include/AutomatableModel.h
#	plugins/MidiImport/MidiImport.cpp
#	plugins/carlapatchbay/CMakeLists.txt
#	plugins/carlarack/CMakeLists.txt
#	src/core/Song.cpp
#	src/core/Track.cpp
#	src/gui/editors/SongEditor.cpp
#	tests/src/core/AutomatableModelTest.cpp
2020-04-04 12:08:55 +09:00
Cyp
42f7e262e9 Fix scrolling direction in SongEditor due to stuck Ctrl/Shift. 2019-12-23 21:17:18 +01:00
Hyunjin Song
7ebaa0e211 Merge branch 'stable-1.2'
# Conflicts:
#	data/locale/pl.ts
#	include/SongEditor.h
#	plugins/vst_base/CMakeLists.txt
#	src/core/Song.cpp
#	src/gui/editors/SongEditor.cpp
2019-10-21 11:18:39 +09:00
Hussam al-Homsi
90dec52db0 Add missing icons of File menu actions (#5183) 2019-09-19 12:02:11 -04:00
Hussam al-Homsi
84d1091100 Rewrite the setup dialog (#3820) 2019-09-05 20:32:17 -04:00
Winnie
2cdb9f2f38 Extract RecentProjectsMenu class from MainWindow (#5148)
* Extract RecentProjectsMenu class from MainWindow
* Clean up updateRecentlyOpenedProjectsMenu
* Remove m_recentlyOpenedProjectsMenu from MainWindow
2019-08-24 18:55:30 +02:00
Winnie
a863830795 Extract TemplatesMenu class from MainWindow (#5125) 2019-08-24 09:33:52 +02:00
Dominic Clark
93f9134c45 Fix crash opening VST automation window (#5144)
The VST automation window initially adds a subwindow with a null widget, so we have to check that w isn't nullptr before getting its size hint.

Fixes #5132.
2019-08-23 20:38:46 +03:00
Martin Pavelek
c3b4d5188a New Spectrum Analyzer (#4950)
Replace old spectrum analyzer by new one with higher resolution and
many new features.

Resolves #2847.
2019-07-17 22:45:26 +02:00
Shmuel H
723a451ebc Add a save option to discard MIDI connections (#5021)
* Song: add isSavingProject.
* VersionedSaveDialog: Add support for a custom option dialog.
* AutomatableModel: Support the discardMIDIConnections save option.
* InstrumentTrack: Support the discardMIDIConnections save option.
* SaveOptions: Show the save option dialog on "save as".
2019-06-09 15:44:32 +03:00
Hyunjin Song
4252f755c2 Merge branch 'stable-1.2'
# Conflicts:
#	cmake/nsis/CMakeLists.txt
#	src/core/ProjectRenderer.cpp
#	src/tracks/Pattern.cpp
2018-10-29 16:20:58 +09:00
Umcaruje
8154f886ed Update the LMMS logo and mimetypes (#4519)
* 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
2018-09-24 11:09:49 +02:00
Hyunjin Song
4069aaada2 Merge branch 'stable-1.2'
# Conflicts:
#	.travis/osx..install.sh
#	CMakeLists.txt
#	cmake/apple/install_apple.sh.in
#	doc/lmms.1
#	include/VstSyncController.h
#	plugins/carlabase/carla.h
#	plugins/vestige/vestige.cpp
#	plugins/vst_base/CMakeLists.txt
#	plugins/vst_base/RemoteVstPlugin.cpp
#	plugins/vst_base/Win64/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#	src/core/Song.cpp
#	src/core/main.cpp
2018-09-18 09:54:38 +09:00
Karmo Rosental
dd7b0865fb Update UI 60 times per second (#4570)
* Update UI 60 times per second

* Adjust falloff values
2018-09-17 23:49:25 +09:00
Hyunjin Song
91ca660161 Fallback to default audio/MIDI backends if invalid one is set
Also shows the setup dialog in case of invalid audio backends
2018-09-13 11:01:49 +09:00
Lukas W
6f32c962b4 Fix invisible editors on project load by validating size (#4502) 2018-09-03 19:39:23 +09:00
Lukas W
ff1c30e35d Merge remote-tracking branch 'lukas/cleanup/qt4'
# Conflicts:
#	cmake/toolchains/common/MSYS.cmake
2018-07-17 08:52:49 +02:00
Lukas W
3c6f200beb Merge branch 'stable-1.2'
# Conflicts:
#	cmake/modules/BuildPlugin.cmake
#	plugins/CMakeLists.txt
#	plugins/LadspaEffect/swh/CMakeLists.txt
#	plugins/LadspaEffect/tap/CMakeLists.txt
#	plugins/zynaddsubfx/zynaddsubfx
#	plugins/zynaddsubfx/zynaddsubfx/src/Misc/QtXmlWrapper.cpp
#	src/gui/MainWindow.cpp
2018-07-06 12:42:15 +02:00
Oskar Wallgren
583e42e5bb Quit exit if failing to save project (#4428)
* Quit exiting when failing to save project

*Test outcome of save in MainWindow::saveProjectAsNewVersion()
2018-06-19 21:59:12 +02:00
Lukas W
da1c78ce86 Remove Qt4 compatibility code 2018-06-17 12:47:12 +02:00
Hussam al-Homsi
6d46bd473f Remove "What's This?" and update tooltips (#4128) 2018-06-06 01:50:11 +03:00
Hussam Eddin Alhomsi
0d73f32c03 Reorder the main windows' buttons & shortcuts (#3938)
Puts Project notes after Controller rack.
2018-05-11 12:23:31 +03:00
Lukas W
d42a685007 Refactoring: Remove duplicate code (#4310) 2018-04-25 18:49:39 +02:00
Michael Gregorius
9acff89ad3 Remove Song's dependency to MainWindow
Finally remove Song's dependency to MainWindow by moving the window
title update which is triggered due to a changed project file name from
the class Song into MainWindow.

Implementation details:
Add a new signal projectFileNameChanged to Song and connect the new slot
method MainWindow::onProjectFileNameChanged to it. Update the window
title whenever the slot is triggered.

Add a new private method Song::setProjectFileName which sets the project
file name and emits the signal (only if the file name really changes).
Call setProjectFileName everywhere where m_fileName was manipulated
directly. This is done to ensure that the signal can be potentially
emitted in all relevant situations.

Remove the calls to gui->mainWindow from
Song::createNewProjectFromTemplate.

These changes finally remove the include to "MainWindow.h". The include
for "ConfigManager.h" was previously done implicitly through the include
of "MainWindow.h" and therefore had to be added explicitly after the
latter is removed.
2017-12-26 00:33:11 +01:00
Michael Gregorius
b79999a6bf Move some window title updates from Song into MainWindow
Move the window title updates which are triggered due to a changed
modify state from Song to MainWindow.

Implementation details:
Add a new signal modified to Song and connect the new slot method
MainWindow::onSongModified to it.

Currently only the window title is updated in the slot. It is only
updated if the code is executed from the GUI main thread. This
implementation was taken over from the original implementation of
Song::setModified. The assumption here seems to be that the Song might
also be set as modified from other threads (which is a bad design).

Add a new private method Song::setModified(bool) and replace all direct
manipulations of m_modified in Song by calls to this method. This is done
to ensure that the signal can be emitted in all these cases. Make
Song::setModified() delegates to Song::setModified(bool) for the same
reason.

Other changes:
Slightly refactor MainWindow::resetWindowTitle to get rid of an
unnecessary if statement.
2017-12-26 00:33:11 +01:00
Michael Gregorius
07caf85bf5 Remove GUI related code from Song::stop
Add the new signal Song::stopped which is emitted when the song is
stopped. Connect the new slot method MainWindow::onSongStopped to that
signal. Remove all GUI updates from Song::stop and handle them in
MainWindow::onSongStopped.
2017-12-26 00:33:11 +01:00
Michael Gregorius
7fa62266a9 Move showing of save result dialog out of Song
Move the showing of save result dialogs, e.g. "The project XYZ is now
saved.", from the class Song into the class MainWindow.

Implementation details:
Add three new methods guiSaveProject, guiSaveProjectAs and
handleSaveResult to MainWindow. The first two correspond to the methods
with the same name in Song which don't do anything GUI related anymore.
The GUI related actions are instead implemented in the two new methods
in MainWindow. The method handleSaveResult shows the dialogs for
successful and failed saves, updates the list of recent files and the
title bar of the main window.

This commit also fixes a problem in Song::guiSaveProject where a failed
saved without a GUI would still have returned true, i.e. success.
2017-12-26 00:33:11 +01:00
Michael Gregorius
6a716ef985 Move import functionality from Song to MainWindow
Move the functionality of the method Song::importProject into the
MainWindow as it mainly consists of GUI related actions.

Add a new method Song::setLoadOnLauch to ensure that the boolean
Song::m_loadOnLaunch is still set at the end of the import.
2017-12-26 00:33:11 +01:00
Michael Gregorius
78d65ccc3a Move song export and track export from Song into MainWindow
The code to export a song and the tracks of a song mainly consisted of
GUI code. Therefore it was moved completely into MainWindow.

Add two new slots and a method that does the actual work to MainWindow.
Make both slots delegate to the worker method.
2017-12-26 00:33:11 +01:00
Michael Gregorius
989db1dc9b Move GUI dependencies out of Song::exportProjectMidi
Move all GUI dependencies out of Song::exportProjectMidi and move them
into the MainWindow.

Show the GUI in the new slot method MainWindow::onExportProjectMidi and
delegate to Song::exportProjectMidi once the file name has been
determined. The file name is given as a parameter to
Song::exportProjectMidi which still contains the business logic of
exporting the data.
2017-12-26 00:33:11 +01:00
Tres Finocchiaro
260c1843dd Fix typo from b6441b7
Closes #4039
2017-12-05 21:58:51 -05:00
Dan Williams
45d6b299ef Fix a crash (#4037)
This code loads a Qt5 library, which will cause problems if done from a Qt4 application. If the application is Qt4 based we don't have a bug with kde changing the menus anyway, so we can skip this code.
2017-12-05 21:36:54 -05:00
Dan Williams
298f1ec335 Fix recent files (#3872)
* Fix templates and recent files on KDE.

Workaround for https://bugs.kde.org/show_bug.cgi?id=337491 , Call into KDE stuff to stop it adding accelerators.

* Fix & in recent files.

Escape & as && when building the recent file lists, and reverse that when getting the file name.
2017-11-04 17:31:41 +09:00
Dominic Clark
9407e84ffa Stop some autosave crashes (#3841) 2017-10-01 22:01:38 +02:00
Hyunjin Song
c0682c94a4 Fix MIDI export (#3733)
* Re-enable MIDI export

* Fix logic for processing BB tracks and BB notes

* Consider master pitch and base note in MIDI export.

* Cut BB notes at the end of BB pattern.
2017-09-14 08:09:54 +09:00
DomClark
fe98a9aa43 Fix some VST deadlocks/hangs 2017-09-08 23:14:52 +02:00
Oskar Wallgren
2e841e4917 Fixes to recover file system (#3722)
Don't auto-save while playing by default. On weaker machines (xp?) we
see glitches so better turn this on after need.

Remove the last of Limited Sessin which was removed in 290556e.
2017-07-30 11:43:48 +02:00
Steffen Baranowsky
fc6d844a92 saves the correct subwindow size when it is hidden (#3589)
* saves the correct subwindow size when it is hidden

* remove invisible size from saveWidgetState()
2017-06-13 12:31:21 +02:00
Oskar Wallgren
a371ff0ea1 Some fixes to recent files (#3621)
* Add a factory default data/projects/templates/default.mpt. Fixes #528
* On launch, if the last project was a template we create a new project (default.mpt) instead.
* If there is a recovery file present and you discard it we create a new project as the project launched could be defective or, if .lmmsrc.xml wasn't written, an earlier project.
2017-06-10 20:38:17 +02:00
Oskar Wallgren
290556e43d Remove Limited Session 2017-05-13 14:58:14 +02:00
Lukas W
29f832034a Remove unused includes (#3429) 2017-03-16 11:35:18 +00:00
Oskar Wallgren
1b6a9f4885 Fix crash when rendering from command line and no write access to config file (#3413)
* Fix crash when rendering from command line and no write access to config file

* Remove redundant call to ConfigManager::addRecentlyOpenedProject()
2017-03-08 10:59:40 +01:00
follower
b6441b7f18 Workaround Qt5 bug that fails to remove separator at end of File/Help menus (#3350)
Prevent dangling separator at end of menus on macOS

Per https://bugreports.qt.io/browse/QTBUG-40071
2017-02-18 22:45:35 -05:00
follower
b25655f9fe Remove non-document menu icons on macOS / OS X (#3363)
Remove icons from non-document menus on macOS

Matches Apple user interface guidelines
2017-02-17 01:48:27 -05:00
Oskar Wallgren
901fea51d0 Auto-save - Fix double negations and some cleanup 2017-02-13 22:19:01 +01:00