52 Commits

Author SHA1 Message Date
Tres Finocchiaro
51529cefb1 Add Qt6 Support (#7339)
* Rebase against master

Co-authored-by: michaelgregorius <michael.gregorius.git@arcor.de>
Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com>

* Fix Qt6 DMG on Apple (#7240)

- Fix linking issues with Qt Framework files
- Fix qmake detection

* Fixes after rebase

* Fix embed.cpp compilation

Fix implicit conversion from int when using QString.arg(...)

* Fix Qt6 signature change for nativeEventFilter (#7254)

* Adds win32EventFilter a wrapper for nativeEventFilter on Windows
* win32EventFilter is currently used to intercept top-level Window events (currently, to avoid VSTs setting transparency of the parent application)

* fix broken signal slot connections (#7274)

QComboBox activated() replaced with textActivated() since Qt 5.14

* Enabled VSTs on Qt 6 (#7273)

* enabled VST support for Qt 6 builds
* Note : Embedding on QT6 will be buggy on linux as a result of using qt embedding, which unfortunately is a qt bug which hasn't been resolved.

* Changed bar lines to follow snap size (#7034)

* Added lines in between bars
* Changed bar lines to follow snap size
* Changed default zoom and quantization value
* Added constants for line widths
* Added QSS configuration for new grid line colors
* Tied line widths to QSS properties
* Changed default quantization to 1/4
* Removed clear() from destructor model
* Removed destructor in ComboBoxModel.h
* Changed member set/get functions to pass by value
* Updated signal connection with newer syntax

* Fix compilation

* Fix MSVC builds

* fix nullptr deref in AudioFileProcessor (qt6 branch) (#7532)

* ensured mouse event != nullptr before deref

* separation of concerns: AFP WaveView updateCursor

extract check to pointerCloseToStartEndOrLoop()

* marked some function parameters as const

* Remove Core5Compat usage

* Fix bad merge

* Fixes after rebase

* Simplify QTX_WRAP_CPP call

* Remove comments that are obvious to a developer

* Whitespace

* Try using Qt 6 for MSVC CI

I chose Qt 6.5 because it's the last Qt LTS release with declared
support for Visual Studio 2019. Once we upgrade to Visual Studio 2022,
we could upgrade Qt as well.

* Fix MSVC build

Also fixes two memory leaks in MidiWinMM

* Fix GuiApplication on MSVC

* Fix interpolateInRgb

* Try building with patched Calf

* Fix submodule

* Fix OpulenZ build

* Try to fix zyn

* Fix comment

* Ty to fix zyn (again)

* Ty to fix RemotePluginBase

* Revert "Ty to fix RemotePluginBase"

This reverts commit 92dac44ffb11e19d1d5a21d9155369f017bd59e9.

* Update plugins/ZynAddSubFx/CMakeLists.txt

Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>

* Fix vertical & horizontal scroll wheel in SongEditor

* AppImage: Fix finding of Qt6 libs

* Fix implicit QString --> QFileInfo conversion

* Point submodule to lmms

* Fix multiple deprecation warnings

* Fix for Clang compiler

* Build with latest Qt LTS version now that we use MSVC 2022

* Update jurplel/install-qt-action to v4.3.0

* Bump minimum Qt6 version for MSVC

* Fix incorrect Qt version checks

Some comparisons were using ">" rather than ">="

* `QSize()` != `QSize(0, 0)`

* Fix more deprecation warnings

* Fix style

* Simplify Spectrum Analyzer mouse events

The Qt bug that used to be present appears to have been fixed, so the
workaround can be removed

* Minor changes

* Fix deprecated QCheckBox signal

* Fix setContent helper functions

* Remove QMultiMap usage from ControlLayout

* Remove SIGNAL and SLOT macros

* Revert TrackView.cpp changes

* Remove Q_DISABLE_MOVE usage since it does not seem to be available in Qt6

---------

Co-authored-by: michaelgregorius <michael.gregorius.git@arcor.de>
Co-authored-by: Rossmaxx <74815851+Rossmaxx@users.noreply.github.com>
Co-authored-by: BoredGuy1 <66702733+BoredGuy1@users.noreply.github.com>
Co-authored-by: Hyunjin Song <tteu.ingog@gmail.com>
Co-authored-by: Lisa Magdalena Riedler <git@riedler.wien>
Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
2025-11-03 11:58:15 -06:00
Tres Finocchiaro
38ceac80dd Remove custom winebuild task (#8077)
Remove custom winebuild task; leverage wine 10.14+ directly instead

---------

Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
2025-10-21 11:19:52 -04:00
Dalton Messmer
4d10474d91 Update macOS runner image and XCode version (#8092) 2025-10-17 19:58:23 -04:00
Dalton Messmer
912f4c2c50 Set minimum deployment target for macOS builds (#8004)
Set minimum deployment target for macOS builds
- Calculates MACOSX_DEPLOYMENT_TARGET based on qmake's minos value
- Echo's Lowest SDK supported for information purposes
---------

Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>
2025-09-23 10:46:50 -04:00
Dalton Messmer
cb84fce599 Upgrade to Windows 2022 / Visual Studio 2022 (#7897)
Upgrade to Windows 2022 build runner and Visual Studio 2022 for MSVC builds.

Continue installing Qt 5.15.2 with the Visual Studio 2019 option since it doesn't provide a VS 2022 option.
2025-05-20 12:04:46 -04:00
Tres Finocchiaro
928b72ab36 Add Windows arm64 builds (#7848)
* Add Windows arm64 builds
2025-04-30 15:26:35 -04:00
Tres Finocchiaro
b440a029df Update FLTK in the AppImage (#7710)
Bump fltk 1.3.x->1.4.1
Closes #5386
2025-02-18 18:41:28 -05:00
Tres Finocchiaro
24bda4fa58 AppImage: Initial support for wayland (#7704)
Adds opt-in wayland support to the AppImage
2025-02-18 03:31:12 -05:00
Tres Finocchiaro
e615046d78 Add VST64 targets for Linux ARM64 (#7687)
Initial support for winegcc on ARM64
2025-02-13 01:23:37 -05:00
Dalton Messmer
7d271e4f39 Fix vcpkg builds (#7702)
* Try to fix MSVC linker error related to lilv

* Remove temporary workaround

* Temporary debugging messages

* oops

* Temporary debugging

* Try to find FluidSynth using Config mode first

* Try again to fix lilv

* Fix FluidSynth installed with vcpkg on Windows

* Fix lilv from vcpkg

* Remove debug flag

* Fix for when lilv is not found (*-NOTFOUND evaluates to false)

* Use lowercase package name for lv2

* Try using only pkg_check_modules for lv2

* Use Lilv::lilv

* Add pkg-config guard back in

* Fix package name

Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>

* Fix Lilv_INCLUDE_DIRS

* Rename vcpkg cache key

---------

Co-authored-by: Tres Finocchiaro <tres.finocchiaro@gmail.com>
2025-02-12 20:19:13 -05:00
Tres Finocchiaro
67d4a1ca61 Improve Qt5 detection on macOS (#7699)
* Improve Qt5 detection on macOS
2025-02-10 02:06:21 -05:00
Tres Finocchiaro
36c1deae42 CI: Switch mingw64 to Ubuntu 24.04 (#7682)
Switch mingw64 from Ubuntu 20.04 to Ubuntu 24.04
2025-02-03 12:52:33 -05:00
Tres Finocchiaro
fc125bc7ba CI: Switch linux-x86_64 to Ubuntu 22.04 (#7678)
Switches nightly builds from 20.04 to 22.04
Switches from container to actions-native runner
2025-02-03 02:03:41 -05:00
Tres Finocchiaro
10bdf122f8 CPack: Refactor AppImage and Apple DMG Generation (#7252)
* CPack: Refactor AppImage and Apple DMG Generation
* Switch from linuxdeployqt to linuxdelpoy
* Add ARM64 AppImage support
* Add support for `.run` installers using `makeself`, an alternative to AppImage
* Refactor BashCompletion.cmake
* Enable CPack debugging via `WANT_DEBUG_CPACK`
* Add `download_binary`, `create_symlink` macros
* Qt6: Fix @rpath bug on macOS
* Detect and bundle LV2 UI Suil modules (Related #7201)
* Allow remote plugins to honor `LMMS_PLUGIN_DIR`
* Add .github/workflows/deps-ubuntu-24.04-gcc.txt
* Fix waveforms FileDialog

Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
2025-02-01 04:02:19 -05:00
Rossmaxx
23db892d55 Remove 32 bit CI support for windows builds (#7619)
* remove 32 bit from msvc ci

* remove 32 bit from mingw builds

* remove fail fast
2024-12-24 18:06:18 +05:30
Rossmaxx
0d7749d944 Fix the MSVC CI fail happening due to outdated vcpkg (#7589)
* switch to version 1 for msvc-dev-cmd github action

* bump msvc build year

* try refreshing vcpkg cache msvc

* Revert "try refreshing vcpkg cache msvc"

This reverts commit e8814f8cbd.

* try updating vcpkg manually

* Revert "bump msvc build year"

This reverts commit a95c75ee95.

* messmerd's review comments

* revert the version bump for msvc-dev-cmd

* Fix `cd` command

---------

Co-authored-by: Dalton Messmer <messmer.dalton@gmail.com>
2024-11-20 13:33:58 -05:00
Dalton Messmer
e36463ce77 Update macOS CI (#7572)
* Use macOS 13

See: https://github.com/actions/runner-images/issues/10721

* Upgrade to XCode 15.2

XCode 15.2 is the default on macOS 13

* Fix unqualified call to std::move warning

* Fix sprintf deprecated warnings

* Upgrade macOS 14 ARM64 builds to XCode 15.4

See: https://github.com/actions/runner-images/issues/10703

* Fix unused lambda capture warnings in Fader.cpp

* Fix unused variable warnings

* Fix formatting warning

Cannot format `const void*` as a string

* Force lambda conversion to function pointer
2024-11-06 17:46:12 -05:00
Johannes Lorenz
1f224ad765 Add yamllint checks (#7424) 2024-08-04 15:47:43 +02:00
Dominic Clark
bdd94ec215 Run CMake with -Werror=dev in CI (#7322) 2024-07-06 14:14:51 +01:00
FyiurAmron
edf6bf8dfe Remove mingw-std-threads from 3rd party deps and use native libs/headers instead (#7283)
* Remove mingw-std-threads from 3rd party deps

 and use native libs/headers instead

* switch MinGW to POSIX in CI
2024-06-30 15:49:06 -04:00
FyiurAmron
118ca4e9a2 Cleanup of MinGW-related scripts (#7327)
Consolidate and simplify mingw-related scripts.
Remove support for outdated Ubuntu versions.
2024-06-28 11:16:44 -04:00
Dominic Clark
a1f7753a94 Fix MSVC warnings up to level 2 (#7329)
* Fix MSVC warnings up to /W2

* Fix large shift UB warning
2024-06-22 02:05:14 -04:00
Dominic Clark
39b7d16f15 Fix caching for macOS CI jobs (#7326)
* Add architecture to macOS cache keys

* Only save Homebrew cache if lock file has changed
2024-06-18 16:56:19 -04:00
Tres Finocchiaro
a85c98648c Add macOS arm64 builds (#7285)
Add macOS arm64 builds
2024-05-30 22:41:26 -04:00
Dalton Messmer
7197f1de39 Update upload-artifacts actions (#7263) 2024-05-29 20:47:25 +01:00
Dalton Messmer
2e6545328c Update MinGW CI to Ubuntu 20.04 (#7259)
Update MinGW CI to Ubuntu 20.04
* Use ghcr.io/lmms/linux.mingw:20.04
* Fix deprecation in ClipView.cpp
* Fix ccache and simplify git configuration
* Apply patch by @DomClark for MinGW's SDL2 target
* Update excludelist-win
2024-05-23 13:21:57 -04:00
Tres Finocchiaro
7859f1c72d Fix macOS CI builds (#7261) 2024-05-16 16:23:32 -04:00
Dalton Messmer
d71116b82a Update Linux CI to Ubuntu 20.04 (#7015)
- Switch to Ubuntu 20.04 Docker image ghcr.io/lmms/linux.gcc:20.04
- Linux packages have migrated from Docker Hub to https://github.com/orgs/lmms/packages
- Built using the Dockerfiles from Update Linux images lmms-ci-docker#15
- Updated the veal submodule to the latest commit on the default ladspa branch
- Fixed an error when catching a polymorphic type with GCC 9. See: LMMS/veal@0ae9287
- Added GCC flag -Wno-format-truncation for ZynAddSubFx build.
- Adds GCC flag -Wno-format-overflow for calf/veal build.

Closes #6993
2024-05-08 13:06:54 -04:00
Dominic Clark
bda042e1eb Add native system semaphore and Windows shared memory (#7212) 2024-04-20 23:21:29 +01:00
TechnoPorg
af7431be99 Add GitHub issue forms for bug reports and feature requests (#7102) 2024-03-16 21:53:22 +00:00
Dominic Clark
c87ff4194f Use GitHub mirror of tap-plugins (#7110) 2024-02-16 18:56:30 +00:00
Dominic Clark
a8e427fcb8 Update URL of tap-plugins submodule (#7087) 2024-01-31 21:44:12 +00:00
saker
6c4d458599 Migrate to CTest (#7062) 2024-01-15 17:19:33 -05:00
Lukas W
f6a1f25cf9 CI: Use lowest Xcode version available
For compatibility with older macOS versions, see discussion at
https://github.com/LMMS/lmms/pull/6960#discussion_r1382432764
2023-11-05 12:27:53 +01:00
Lukas W
620cd3e104 CI: Update to macOS 12
Homebrew doesn't provide bottles for macOS 11 anymore, causing
dependencies to be compiled in CI which takes approximately 173 years.
Therefore, upgrade to macOS 12 and
- remove DEVELOPER_DIR environment variable which caused problems but
  its removal doesn't appear to break anything
- upgrade npm because versions before 10.2.2 use Python's distutils
  package which was removed in Python 12. See
    - https://github.com/npm/cli/pull/6937
    - https://github.com/nodejs/node-gyp/issues/2869
2023-11-04 17:40:08 +01:00
Dominic Clark
cd018c04ff Improve CI cache usage (#6868)
* Update third-party actions to latest version

* Use vcpkg in manifest mode

* Only trim ccache after build

* Use ccache with MSVC

* Use Brewfile and cache Homebrew downloads

* Use --print-config for ccache 3

* Attempt to make ccache actually work with MSVC

* Zero ccache stats before building

* Use SDL2 on macOS
2023-10-31 01:19:00 -04:00
Hyunjin Song
9d5d86d863 Update Docker image version for ShellCheck 2023-01-27 21:55:43 +09:00
Dominic Clark
d95c89760a Support ZynAddSubFx with MSVC (#6561) 2023-01-02 23:42:46 +00:00
Alex
6088ac6102 Support building AppImage on non-ubuntu systems (#6510)
* Use uname -m instead of uname -p and arch
* Various logging improvements
Co-authored-by: Johannes Lorenz <1042576+JohannesLorenz@users.noreply.github.com>
2022-10-10 02:30:46 -04:00
Dominic Clark
5bfd7fba4e Support Sf2 Player, Mallets, PortAudio, and Lame with MSVC (#6507) 2022-09-19 14:46:38 +01:00
Johannes Lorenz
3cc5ec7282 Add check-namespace script (#6438)
This also fixes a lot of code files to be conforming to the script.

Co-authored-by: allejok96 <allejok96@gmail.com>
2022-08-30 02:19:07 +02:00
Johannes Lorenz
9faa1d90c4 Fix "check-strings" verification (#6485)
PR #6438 does 2 things:

1. Add check-namespace
2. Fix verify script

This PR contains only part 2 (and does some preparations for part 1). The goal of the PR is to make CI succeed on master.
2022-08-13 21:29:15 +02:00
Hyunjin Song
7c86331e06 Remove a workaround for broken install-qt-action (#6482)
Also uses commit hash to prevents potential issues on upstream updates
2022-08-09 17:37:44 +09:00
Dominic Clark
fe91a65f03 Migrate CI to GitHub Actions (#6476) 2022-08-03 17:29:11 +01:00
Johannes Lorenz
230aece217 Add check-strings (#6379)
This adds a script `check-strings` that checks whether strings, such as file paths or class names, are valid in files outside of the source code, e.g. in translations or themes. This also adds a verify script to verify `check-strings` on a constant git commit. Both scripts are under CI.
2022-05-23 20:35:06 +02:00
Spekular
b2c4f2939d Elaborate on desired version information
Closes #5368
2020-02-28 20:40:12 +01:00
Lukas W
fb25575339 Merge issue templates (PR #4884)
Add issue templates
2019-11-05 09:46:30 +01:00
Lukas W
35daff9a84 GitHub: Add Discord contact link to template chooser 2019-10-29 22:42:52 +01:00
Lukas W
4a9e9da78c Issue templates improvements
* Ask users to search the tracker first
* Ask for the LMMS version in bug reports
2019-10-29 22:42:20 +01:00
Olivier Humbert
db200fb90c Create FUNDING.yml (#5057) 2019-07-30 08:40:07 +08:00