Skip to content

Commit

Permalink
Merge branch 'master' into migrate-to-QJSEngine
Browse files Browse the repository at this point in the history
  • Loading branch information
ferranpujolcamins committed Jan 19, 2020
2 parents 0f50ff6 + cc296d4 commit a17bdf8
Show file tree
Hide file tree
Showing 1,637 changed files with 215,221 additions and 137,503 deletions.
187 changes: 143 additions & 44 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,152 @@
language: c++

matrix:

# Build flags common to OS X and Linux.
# Parallel builds are important for avoiding OSX build timeouts.
# We turn off verbose output to avoid going over the 4MB output limit.
# TODO(2019-07-21): Add "ffmpeg=1" if FFmpeg 4.x becomes available in Ubuntu
env:
global:
# For SCons builds
- SCONSFLAGS="test=1 mad=1 faad=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0"
# For CMake builds
- CMAKEFLAGS="-DMAD=ON -DFAAD=ON -DOPUS=ON -DMODPLUG=ON -DWAVPACK=ON -DHSS1394=OFF"
- GTEST_COLOR=1
- CTEST_OUTPUT_ON_FAILURE=1

jobs:
include:
- os: linux
- name: qsscheck
os: linux
dist: xenial
before_install:
- pip3 install tinycss
script:
- ./scripts/qsscheck.py .
addons:
apt:
packages:
- python3
- python3-pip
- python3-pyqt5
- python3-setuptools
- python3-wheel

- name: Ubuntu/gcc/SCons build
os: linux
dist: xenial
sudo: required
compiler: gcc
- os: osx
# Ubuntu Xenial build prerequisites
before_install:
- sudo apt-get install -y scons
install:
- scons -j "$(nproc)" localecompare=1
script:
# NOTE(sblaisot): 2018-01-02 removing gdb wrapper on linux due to a bug in
# return code in order to avoid having a successful build when a test fail.
# https://bugs.launchpad.net/mixxx/+bug/1699689
- ./mixxx-test

- name: Ubuntu/gcc/CMake build
os: linux
dist: xenial
compiler: gcc
cache: ccache
# Ubuntu Xenial build prerequisites
env: CMAKEFLAGS_EXTRA="-DLOCALECOMPARE=ON"
before_install:
- export CMAKE_BUILD_PARALLEL_LEVEL="$(nproc)"
- export CTEST_PARALLEL_LEVEL="$(nproc)"
- export PATH="$HOME/.local/bin:$PATH"
- pip install --user cmake
- cmake --version
- ccache -s
install:
- mkdir cmake_build
- cd cmake_build
- cmake -L $CMAKEFLAGS $CMAKEFLAGS_EXTRA ..
- cmake --build .
- sudo env "PATH=$PATH" cmake --build . --target install
script:
# Run tests and benchmarks
- ctest
- cmake --build . --target benchmark

- name: OSX/clang/SCons build
os: osx
osx_image: xcode11
compiler: clang
cache:
directories:
- $HOME/Library/Caches/Homebrew
- /usr/local/Homebrew
# Workaround for bug in libopus's opus.h including <opus_multistream.h>
# instead of <opus/opus_multistream.h>.
# Virtual X (Xvfb) is needed for analyzer waveform tests
env: >-
CFLAGS="-isystem /usr/local/include/opus"
CXXFLAGS="-isystem /usr/local/include/opus"
DISPLAY=:99.0
before_install:
- brew install scons
- export QTDIR="$(find /usr/local/Cellar/qt -d 1 | tail -n 1)"
- echo "QTDIR=$QTDIR"
install:
# We are hardcoding 4 threads here since "$(sysctl -n hw.ncpu)" only
# returns 2 and makes the travis job run into a timeout:
# https://docs.travis-ci.com/user/reference/overview/#virtualization-environments
- scons -j4
script:
# lldb doesn't provide an easy way to exit 1 on error:
# https://bugs.llvm.org/show_bug.cgi?id=27326
- lldb ./mixxx-test --batch -o run -o quit -k 'thread backtrace all' -k "script import os; os._exit(1)"
before_cache:
# Avoid indefinite cache growth
- brew cleanup
# Cache only .git files under "/usr/local/Homebrew" so "brew update"
# does not take 5min every build
# Source: https://discourse.brew.sh/t/best-practice-for-homebrew-on-travis-brew-update-is-5min-to-build-time/5215/12
- find /usr/local/Homebrew \! -regex ".+\.git.+" -delete

- name: OSX/clang/CMake build
os: osx
osx_image: xcode11
compiler: clang
cache:
ccache: true
directories:
- $HOME/Library/Caches/Homebrew
- /usr/local/Homebrew
# Workaround for bug in libopus's opus.h including <opus_multistream.h>
# instead of <opus/opus_multistream.h>.
# Virtual X (Xvfb) is needed for analyzer waveform tests
env: >-
CMAKEFLAGS_EXTRA="-DLOCALECOMPARE=OFF -DCMAKE_PREFIX_PATH=/usr/local/opt/qt5/"
DISPLAY=:99.0
CMAKE_BUILD_PARALLEL_LEVEL=4
CTEST_PARALLEL_LEVEL=1
before_install:
- brew install ccache
- export PATH="/usr/local/opt/ccache/bin:$PATH"
- cmake --version
- ccache -s
install:
- mkdir cmake_build
- cd cmake_build
- cmake -L $CMAKEFLAGS $CMAKEFLAGS_EXTRA ..
- cmake --build .
- sudo cmake --build . --target install
script:
# Run tests and benchmarks
- ctest
- cmake --build . --target benchmark
before_cache:
# Avoid indefinite cache growth
- brew cleanup
# Cache only .git files under "/usr/local/Homebrew" so "brew update"
# does not take 5min every build
# Source: https://discourse.brew.sh/t/best-practice-for-homebrew-on-travis-brew-update-is-5min-to-build-time/5215/12
- find /usr/local/Homebrew \! -regex ".+\.git.+" -delete

git:
depth: 1
Expand Down Expand Up @@ -54,7 +193,6 @@ addons:
- qtdeclarative5-dev
- qtscript5-dev
- qt5keychain-dev
- scons
homebrew:
update: true
packages:
Expand All @@ -78,49 +216,10 @@ addons:
- protobuf
- qt5
- rubberband
- scons
- sound-touch
- taglib
- wavpack

install:
# Build flags common to OS X and Linux.
# Parallel builds are important for avoiding OSX build timeouts.
# We turn off verbose output to avoid going over the 4MB output limit.
# TODO(2019-07-21): Add "ffmpeg=1" if FFmpeg 4.x becomes available in Ubuntu
- export COMMON_FLAGS="-j4 test=1 mad=1 faad=1 opus=1 modplug=1 wv=1 hss1394=0 virtualize=0 debug_assertions_fatal=1 verbose=0"

# Ubuntu Xenial build prerequisites
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export EXTRA_FLAGS="localecompare=1"; fi

# Define QTDIR.
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export QTDIR=$(find /usr/local/Cellar/qt -d 1 | tail -n 1); fi

# Workaround for bug in libopus's opus.h including <opus_multistream.h>
# instead of <opus/opus_multistream.h>.
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export CXXFLAGS="-isystem /usr/local/include/opus"; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export CFLAGS="-isystem /usr/local/include/opus"; fi

# NOTE(rryan): 2016-11-15 we are experiencing Travis timeouts for the OSX
# build. Turning off optimizations to see if that speeds up compile times.
# TODO(rryan): localecompare doesn't work on Travis with qt5 for some reason.
# TODO(2019-07-21): Move "ffmpeg=1" into COMMON_FLAGS if FFmpeg 4.x becomes available in Ubuntu
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export EXTRA_FLAGS="ffmpeg=1 optimize=none asan=0 localecompare=0"; fi

- scons $COMMON_FLAGS $EXTRA_FLAGS

before_script:
# Virtual X (Xvfb) is needed for analyzer waveform tests
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then export DISPLAY=:99.0; fi

script:
# NOTE(sblaisot): 2018-01-02 removing gdb wrapper on linux due to a bug in
# return code in order to avoid having a successful build when a test fail.
# https://bugs.launchpad.net/mixxx/+bug/1699689
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then ./mixxx-test; fi
# lldb doesn't provide an easy way to exit 1 on error:
# https://bugs.llvm.org/show_bug.cgi?id=27326
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then lldb ./mixxx-test --batch -o run -o quit -k 'thread backtrace all' -k "script import os; os._exit(1)"; fi

notifications:
webhooks:
Expand Down
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,33 @@
* Add Opus streaming and recording support. [lp:1338413](https://bugs.launchpad.net/mixxx/+bug/1338413)
* Add mapping for Roland DJ-505

## [2.2.4](https://launchpad.net/mixxx/+milestone/2.2.4) (Unreleased)

* Prevent infinite loop when decoding corrupt MP3 files #2417

## [2.2.3](https://launchpad.net/mixxx/+milestone/2.2.3) (2019-11-24)

* Don't make users reconfigure sound hardware when it has not changed #2253
* Fix MusicBrainz metadata lookup lp:1848887 #2328
* Fix high DPI scaling of cover art #2247
* Fix high DPI scaling of cue point labels on scrolling waveforms #2331
* Fix high DPI scaling of sliders in Tango skin #2318
* Fix sound dropping out during recording lp:1842679 #2265 #2305 #2308 #2309
* Fix rare crash on application shutdown #2293
* Workaround various rare bugs caused by database inconsistencies lp:1846971 #2321
* Improve handling of corrupt FLAC files #2315
* Don't immediately jump to loop start when loop_out is pressed in quantized mode lp:1837077 #2269
* Preserve order of tracks when dragging and dropping from AutoDJ to playlist lp:1829601 #2237
* Explicitly use X11 Qt platform plugin instead of Wayland in .desktop launcher lp:1850729 #2340
* Pioneer DDJ-SX: fix delayed sending of MIDI messages with low audio buffer sizes #2326
* Enable modplug support on Linux by default lp:1840537 #2244 #2272
* Fix keyboard shortcut for View > Skin Preferences lp:1851993 #2358 #2372
* Reloop Terminal Mix: Fix mapping of sampler buttons 5-8 lp:1846966 #2330

## [2.2.2](https://launchpad.net/mixxx/+milestone/2.2.2) (2019-08-10)

==== 2.2.2 2019-08-10 ====

* Fix battery widget with upower <= 0.99.7. #2221
* Fix BPM adjust in BpmControl. lp:1836480
* Disable track metadata export for .ogg files and TagLib 1.11.1. lp:1833190
Expand Down
Loading

0 comments on commit a17bdf8

Please sign in to comment.