Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/2.4' into sync_lock_algorithm
Browse files Browse the repository at this point in the history
  • Loading branch information
daschuer committed Nov 16, 2023
2 parents 72d5d84 + 290e5c7 commit bd77c26
Show file tree
Hide file tree
Showing 1,652 changed files with 147,151 additions and 187,838 deletions.
14 changes: 11 additions & 3 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
---
Checks: "-*,modernize-use-bool-literals,modernize-use-nullptr,modernize-use-override,readability-braces-around-statements,readability-namespace-comment,readability-non-const-parameter,readability-qualified-auto"
Checks: >-
-*,
google-readability-namespace-comments,
modernize-use-bool-literals,
modernize-use-nullptr,
modernize-use-override,
readability-braces-around-statements,
readability-non-const-parameter,
readability-qualified-auto
WarningsAsErrors: ""
HeaderFilterRegex: ""
AnalyzeTemporaryDtors: false
Expand All @@ -8,9 +16,9 @@ User: user
CheckOptions:
- key: readability-braces-around-statements.ShortStatementLines
value: 0
- key: readability-namespace-comments.ShortNamespaceLines
- key: google-readability-namespace-comments.ShortNamespaceLines
value: 0
- key: readability-namespace-comments.SpacesBeforeComments
- key: google-readability-namespace-comments.SpacesBeforeComments
value: 1
- key: readability-qualified-auto.AddConstToQualified
value: true
Expand Down
1 change: 1 addition & 0 deletions .codespellignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ sord
doubleClick
sur
jus
caf
9 changes: 9 additions & 0 deletions .codespellignorelines
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,12 @@ void EngineEffectsDelay::process(CSAMPLE* pInOut,
mixxx::SampleBuffer pInOut(bufferSizeInSamples);
SampleUtil::fill(pInOut.data(), 0.0f, bufferSizeInSamples);
effectsDelay.process(pInOut.data(), bufferSizeInSamples);
} else if (!strcmp(pavInputFormat->name, "caf")) {
list.append("caf");
// Adopted from Csound code at http://www.kunstmusik.com/udo/cache/moogladder.udo
<< "-alac.caf"
// Test fails for file type "caf" supported by SoundSourceSndfile
//QStringLiteral("caf"),
// Source: FIPS 180-4 Secure Hash Standard (SHS)
// ALAC/CAF has been added in version 1.0.26
QStringLiteral("caf"),
3 changes: 3 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
res/controllers/lodash.mixxx.js
res/controllers/Novation-Launchpad MK2-scripts.js
res/controllers/Novation-Launchpad Mini MK3-scripts.js
res/controllers/Novation-Launchpad-scripts.js
15 changes: 11 additions & 4 deletions .github/workflows/build-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
name: ${{ matrix.name }}
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install build dependencies
run: tools/debian_buildenv.sh setup
- name: Create build directory
Expand Down Expand Up @@ -111,13 +111,20 @@ jobs:
..
working-directory: build
- name: Set up problem matcher
uses: ammaraskar/gcc-problem-matcher@master
uses: ammaraskar/[email protected]
# Work around https://github.com/actions/runner-images/issues/8659
- name: "Remove GCC 13 from runner image (workaround)"
shell: bash
run: |
sudo rm -f /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-jammy.list
sudo apt-get update
sudo apt-get install -y --allow-downgrades libc6=2.35-0ubuntu3.4 libc6-dev=2.35-0ubuntu3.4 libstdc++6=12.3.0-1ubuntu1~22.04 libgcc-s1=12.3.0-1ubuntu1~22.04
- name: Build
# Do not abort on errors and build/check the whole project
run: cmake --build . -j $(nproc) -- --keep-going
working-directory: build
env:
CLAZY_CHECKS: level2,no-rule-of-two-soft,no-non-pod-global-static,no-qproperty-without-notify,no-wrong-qevent-cast,no-qstring-allocations,no-function-args-by-value,no-copyable-polymorphic,no-ctor-missing-parent-argument,no-missing-qobject-macro,no-rule-of-three,no-returning-void-expression,no-missing-typeinfo,no-base-class-event
CLAZY_CHECKS: level2,container-inside-loop,heap-allocated-small-trivial-type,isempty-vs-count,qhash-with-char-pointer-key,qproperty-type-mismatch,tr-non-literal,no-rule-of-two-soft,no-non-pod-global-static,no-qproperty-without-notify,no-qstring-allocations,no-function-args-by-value,no-copyable-polymorphic,no-ctor-missing-parent-argument,no-missing-qobject-macro,no-rule-of-three,no-returning-void-expression
CLAZY_IGNORE_DIRS: lib/.*
- name: "Test"
if: matrix.name == 'coverage'
Expand Down Expand Up @@ -146,7 +153,7 @@ jobs:
- name: "Upload Coverage Report to coveralls.io"
if: matrix.name == 'coverage'
continue-on-error: true
uses: coverallsapp/github-action@master
uses: coverallsapp/github-action@v2.2.3
with:
flag-name: ubuntu-22.04
path-to-lcov: build/lcov.info
Expand Down
49 changes: 29 additions & 20 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,8 @@ jobs:
env:
SCCACHE_VERSION: "0.3.0"
# macOS codesigning
APPLE_CODESIGN_IDENTITY: 2C2B5D3EDCE82BA55E22E9A67F16F8D03E390870
MACOS_CODESIGN_OPENSSL_PASSWORD: ${{ secrets.MACOS_CODESIGN_OPENSSL_PASSWORD }}
APPLE_CODESIGN_IDENTITY: EF241CF990A9BE5477438AEE1F308F76F33FD100
MACOS_CODESIGN_CERTIFICATE_P12_BASE64: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 }}
MACOS_CODESIGN_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CODESIGN_CERTIFICATE_PASSWORD }}

runs-on: ${{ matrix.os }}
Expand All @@ -163,7 +163,7 @@ jobs:
run: cargo install --version "${{ env.SCCACHE_VERSION }}" sccache

- name: "Check out repository"
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# This is necessary for making `git describe` work.
fetch-depth: 0
Expand All @@ -181,17 +181,26 @@ jobs:

- name: "[macOS] Set up cmake"
uses: jwlawson/[email protected]
# Ubuntu 22.04 should use the CMake version from the repos, and Visual
# Studio on Windows comes with its own CMake version anyway.
# Ubuntu 22.04 should use the CMake version from the repos.
if: runner.os == 'macOS'
with:
# This should always match the minimum required version in
# our CMakeLists.txt
cmake-version: "3.19.x"

- name: "[Windows] Set up cmake"
uses: jwlawson/[email protected]
# Ubuntu 22.04 should use the CMake version from the repos.
if: runner.os == 'Windows'
with:
# This is a workaround for a SSL false positive in cmake 3.26.4
# When downloading the manual. 3.21 is required for installing the
# ANGLE Dlls via IMPORTED_RUNTIME_ARTIFACTS
cmake-version: "3.21.x"

- name: "[Windows] Set up MSVC Developer Command Prompt"
if: runner.os == 'Windows'
uses: seanmiddleditch/gha-setup-vsdevenv@v4
uses: ilammy/msvc-dev-cmd@v1

- name: "[macOS] install ccache and make"
if: runner.os == 'macOS'
Expand All @@ -212,13 +221,10 @@ jobs:

- name: "[macOS] Import Apple code signing identity"
id: apple_codesign
if: runner.os == 'macOS' && env.MACOS_CODESIGN_OPENSSL_PASSWORD != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null
if: runner.os == 'macOS' && env.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null
run: |
# Decrypt the certificate
openssl enc -aes-256-cbc -d -md sha512 \
-k "${MACOS_CODESIGN_OPENSSL_PASSWORD}" \
-in /Users/runner/work/mixxx/mixxx/packaging/certificates/macos_developer_id_codesign_certificate.p12.enc \
-out ~/certificate.p12
# Decode the certificate
echo "${{ env.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 }}" | base64 -d -o ~/certificate.p12
# Create a temporary keychain for the certificate and import it.
security create-keychain -p mixxx Mixxx.keychain
Expand All @@ -240,7 +246,7 @@ jobs:
WINDOWS_CODESIGN_SECURE_FILE_SECRET: ${{ secrets.WINDOWS_CODESIGN_SECURE_FILE_SECRET }}
if: runner.os == 'Windows' && env.WINDOWS_CODESIGN_SECURE_FILE_SALT != null && env.WINDOWS_CODESIGN_SECURE_FILE_SECRET != null
run: |
iex ((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/appveyor/secure-file/master/install.ps1'))
iex ((New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/appveyor/secure-file/fc44f5c5f2fb184fe738814f373c16cb69c30929/install.ps1'))
appveyor-tools/secure-file -decrypt "$Env:WINDOWS_CODESIGN_CERTIFICATE_PATH.enc" -secret "$Env:WINDOWS_CODESIGN_SECURE_FILE_SECRET" -salt "$Env:WINDOWS_CODESIGN_SECURE_FILE_SALT"
Add-Content -Path "$Env:GITHUB_ENV" -Value "WINDOWS_CODESIGN_CERTIFICATE_PATH=$Env:WINDOWS_CODESIGN_CERTIFICATE_PATH"
Add-Content -Path "$Env:GITHUB_ENV" -Value "WINDOWS_CODESIGN_CERTIFICATE_PASSWORD=$Env:WINDOWS_CODESIGN_CERTIFICATE_PASSWORD"
Expand Down Expand Up @@ -299,11 +305,11 @@ jobs:

- name: "[Ubuntu/macOS] Set up gcc/clang problem matcher"
if: runner.os != 'Windows'
uses: ammaraskar/gcc-problem-matcher@master
uses: ammaraskar/gcc-problem-matcher@0.2.0

- name: "[Windows] Set up MSVC problem matcher"
if: runner.os == 'Windows'
uses: ammaraskar/msvc-problem-matcher@master
uses: ammaraskar/msvc-problem-matcher@0.2.0

- name: "Build"
run: cmake --build . --config RelWithDebInfo
Expand Down Expand Up @@ -368,13 +374,12 @@ jobs:
working-directory: build

- name: "[macOS] Sign, Notarize, and Staple Package"
if: runner.os == 'macOS' && env.MACOS_CODESIGN_OPENSSL_PASSWORD != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null && env.APPLE_APP_SPECIFIC_PASSWORD != null
if: runner.os == 'macOS' && env.MACOS_CODESIGN_CERTIFICATE_P12_BASE64 != null && env.MACOS_CODESIGN_CERTIFICATE_PASSWORD != null && env.APPLE_APP_SPECIFIC_PASSWORD != null
run: packaging/macos/sign_notarize_staple.sh build/*.dmg
env:
APPLE_ID_USERNAME: [email protected]
APPLE_BUNDLE_ID: org.mixxx.mixxx
APPLE_ID_USERNAME: [email protected]
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.MACOS_NOTARIZATION_APP_SPECIFIC_PASSWORD }}
ASC_PROVIDER: FLYL4D545V
APPLE_TEAM_ID: JBLRSP95FC

- name: "[Windows] Sign Package"
if: runner.os == 'Windows' && env.WINDOWS_CODESIGN_CERTIFICATE_PATH != null && env.WINDOWS_CODESIGN_CERTIFICATE_PASSWORD != null
Expand Down Expand Up @@ -477,9 +482,12 @@ jobs:
name: "Update manifest file on download server"
runs-on: ubuntu-latest
needs: build
# Always run this job, even if one or more jobs from the `build` jobs
# fail to allow partial updates of the manifest.
if: always()
steps:
- name: "Check out repository"
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand All @@ -501,6 +509,7 @@ jobs:
export DEPLOY_PATH='snapshots/{git_branch}/manifest.json';
fi;
python3 tools/deploy.py generate-manifest
--update
--output-dir 'deploy/'
--dest-path "${DEPLOY_PATH}"
--dest-url 'https://downloads.mixxx.org'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
container: holzhaus/mixxx-ci:20220930
steps:
- name: "Check out repository"
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Unfortunately we need the whole history and can't use a shallow clone
# because the Appstream Metadata hook parses the history to find the
Expand Down
26 changes: 13 additions & 13 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@
# because it won't prevent catching other, unrelated issues.

# _anlz.h/_pdb.h: Header files generated by Kaitai Struct
exclude: ^(lib/|src/test/.*data/).*|res/translations/.*\.ts|src/.*_(anlz|pdb)\.h$
exclude: ^(lib/|src/test/.*data/).*|res/controllers/lodash\.mixxx\.js|res/translations/.*\.ts|src/.*_(anlz|pdb)\.h$
minimum_pre_commit_version: 2.21.0
default_language_version:
python: python3
rust: 1.64.0
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
rev: v4.4.0
hooks:
- id: fix-byte-order-marker
exclude: ^.*(\.cbproj|\.groupproj|\.props|\.sln|\.vcxproj|\.vcxproj.filters|UTF-8-BOM.txt)$
Expand All @@ -51,7 +51,7 @@ repos:
# protect main and any branch that has a semver-like name
args: [-b, main, -p, '^\d+\.\d+(?:\.\d+)?$']
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
rev: v2.2.5
hooks:
- id: codespell
args:
Expand All @@ -65,7 +65,7 @@ repos:
]
exclude: ^(packaging/wix/LICENSE.rtf|src/dialog/dlgabout\.cpp|.*\.(?:pot?|(?<!d\.)ts|wxl|svg))$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.25.0
rev: v8.48.0
hooks:
- id: eslint
args: [--fix, --report-unused-disable-directives]
Expand All @@ -75,8 +75,8 @@ repos:
- commit
- manual
additional_dependencies:
- eslint@^v8.6.0
- eslint-plugin-jsdoc@^v37.5.0
- eslint@^8.48.0
- eslint-plugin-jsdoc@^v46.5.1
- "@typescript-eslint/eslint-plugin"
- "@typescript-eslint/parser"
- repo: local
Expand All @@ -91,33 +91,33 @@ repos:
- manual
language: python
additional_dependencies:
- clang-format==14.0.6
- clang-format==16.0.6
files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|m|mm|proto|vert)$
- repo: https://github.com/psf/black
rev: 22.10.0
rev: 23.7.0
hooks:
- id: black
files: ^tools/.*$
- repo: https://github.com/pycqa/flake8
rev: "5.0.4"
rev: "6.1.0"
hooks:
- id: flake8
files: ^tools/.*$
types: [text, python]
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.8.0.4
rev: v0.9.0.5
hooks:
- id: shellcheck
- repo: https://github.com/DavidAnson/markdownlint-cli2
rev: v0.5.1
rev: v0.9.2
hooks:
- id: markdownlint-cli2
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.18.3
rev: 0.26.3
hooks:
- id: check-github-workflows
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.7.1
rev: v3.0.2
hooks:
- id: prettier
types: [yaml]
Expand Down
33 changes: 32 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1026,7 +1026,7 @@
[#11434](https://github.com/mixxxdj/mixxx/pull/11434)
[#11301](https://github.com/mixxxdj/mixxx/pull/11301)

## [2.3.6](https://github.com/mixxxdj/mixxx/milestone/40) (unreleased)
## [2.3.6](https://github.com/mixxxdj/mixxx/milestone/40) (2023-08-15)

* Fixed possible crash when closing Mixxx while browsing the file system
[#11593](https://github.com/mixxxdj/mixxx/pull/11593)
Expand Down Expand Up @@ -1056,6 +1056,37 @@
[#11709](https://github.com/mixxxdj/mixxx/issues/11709)
* Controller Preferences: Avoid scrollbars in I/O tabs if Info tab exceeds page height
[#11756](https://github.com/mixxxdj/mixxx/pull/11756)
* Broadcast: Improved error message in case of timeout
[#11775](https://github.com/mixxxdj/mixxx/pull/11775)
* Handle setting `loop_in` and `loop_out` to the same position
[#11771](https://github.com/mixxxdj/mixxx/pull/11771)
[#10600](https://github.com/mixxxdj/mixxx/issues/10600)
* Fix build issues with Protobuf v23.4 and with clang 32
[#11751](https://github.com/mixxxdj/mixxx/pull/11751)
[#11765](https://github.com/mixxxdj/mixxx/pull/11765)
[#11762](https://github.com/mixxxdj/mixxx/issues/11762)
* Disable GL VU-Meters on Windows by default. They can be re-enabled via the command line option `--enableVuMeterGL`.
[#11787](https://github.com/mixxxdj/mixxx/pull/11787)
[#11785](https://github.com/mixxxdj/mixxx/issues/11785)
[#11789](https://github.com/mixxxdj/mixxx/issues/11789)
* Library preferences: Uncheck Serato metadata export when file metadata export is unchecked
[#11782](https://github.com/mixxxdj/mixxx/pull/11782)
[#11226](https://github.com/mixxxdj/mixxx/issues/11226)
* Denon MC6000MK2: Delete mapping for main gain
[#11792](https://github.com/mixxxdj/mixxx/pull/11792)
* Improve output in case of some failed file system operations
[#11783](https://github.com/mixxxdj/mixxx/pull/11783)
* Fix overlapping buffers when decoding M4A files using FFmpeg before 4.4
[#11760](https://github.com/mixxxdj/mixxx/pull/11760)
[#11545](https://github.com/mixxxdj/mixxx/issues/11545)
* Don't reject key values from file metadata with non-minor/-major scales.
[#11001](https://github.com/mixxxdj/mixxx/pull/11001)
[#10995](https://github.com/mixxxdj/mixxx/issues/10995)
* Allow playing tracks with durations of more than 6 hours
[#11511](https://github.com/mixxxdj/mixxx/pull/11511)
[#11504](https://github.com/mixxxdj/mixxx/issues/11504)
* Update latency compensation for Soundtouch version 2.1.1 to 2.3
[#11154](https://github.com/mixxxdj/mixxx/pull/11154)

## [2.3.5](https://github.com/mixxxdj/mixxx/milestone/39) (2023-05-10)

Expand Down
Loading

0 comments on commit bd77c26

Please sign in to comment.