35 Commits

Author SHA1 Message Date
Jonathan Thomas
450af52f64 WIP: Experimental Unit Tests without Display (#900)
* Experimental test for unit tests without display

* Ignore unit tests running on an invalid QT Platform (i.e. offscreen - running as a test on GitHub)

* Fix whitespace on Caption effect

* Check for env variable for QT_QPA_PLATFORM == offscreen, and ignore Caption unit tests (for GitHub checks)
2023-02-14 01:44:38 -06:00
Jonathan Thomas
186a4ca5c1 Refactoring Audio Device detection (don't crash on Windows, find actual sample rate and device details) (#883)
* Close down ZMQ context to stop the zmq threads (related to sentry bug: OPENSHOT-3X)

* Add Support for Windows 7/8.1 (#881)

Adding protection around getting current sample rate for win 7, if audio device not found. Also added mutex for Singleton method. Also, making whitespace consistent on AudioPlaybackThread.cpp

* Big refactor of audio device opening - with multiple sample rates attempted, for better recovery from a missing or unsupported sample rate. Debug logs added for testing.

* Additional failure logging for windows audio device init

* Refactor of Audio Device Initialization (#882)

* Huge refactor of audio device initialization:
- Attempt requested audio device first, and then iterate through all known audio types and devices, and common sample rates. The idea is to ignore an invalid default or invalid requested device, and keep looking until we find a valid one
- New public method to return active, open audio device
- Added methods for AudioDeviceInfo struct, to make it callable from Python
- Some code clean-up and whitespace fixes
- New unit tests for AudioDeviceManagerSingleton

* Ignore audio device unit tests on systems with "No Driver" returned in the audio error message

* Ignore audio device unit tests if any error is found during initialization (i.e. build servers don't have audio cards)

* Trying to update GitHub libomp errors during build checks

* Remove zmq context shutdown call, due to the method missing on newer versions of zmq.hpp

* Downgrading GitHub Ubuntu latest image to Ubuntu 20.04, for compatibility with Catchv2

* Initialize all audio device manager variables correctly, and ignore unit test on low or missing sample rate systems (i.e. GitHub build servers)
2022-12-19 13:15:43 -06:00
Jonathan Thomas
dd25b7835d Removing failing macos from our GitHub build CI 2022-07-21 15:25:26 -05:00
dependabot[bot]
54c9650599 Bump actions/cache from 2 to 3.0.1 (#821)
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.0.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3.0.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-18 05:28:07 -04:00
dependabot[bot]
a956c1a98b Bump codecov/codecov-action from 2.1.0 to 3.1.0 (#823)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.1.0 to 3.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.1.0...v3.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-27 13:18:39 -04:00
dependabot[bot]
98d247563b Bump actions/checkout from 2 to 3 (#813)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-13 20:22:18 -04:00
Frank Dana
a86097a390 Make coverage work on macOS, enable in CI (#804) 2022-01-25 19:59:42 -05:00
Frank Dana
8633b3aba6 Win CI: Prune Qt5 package set (#800) 2022-01-18 16:18:10 -05:00
Frank Dana
03262ab9c6 CI: Use windows-2022, clean-slate MSYS2 image (#799)
Turns out that when setting up to build on Windows, it's almost 35%
faster (#WhoKnew?) if we start from a clean slate and directly
install all 204 packages that make up our build environment.
(That's the total count after dependency resolution.) Using the
preinstalled MSYS2 image, we have to update all of those packages
_first_ (a slow process), before we can even start our own installs.
2022-01-18 07:57:21 -05:00
Frank Dana
aee3a44b5b CI: Avoid always recompiling Resvg (#772) 2021-11-03 09:13:13 -04:00
Frank Dana
974df9961a CI: Fix Resvg branch selection (#770)
* Fix Resvg branch selection
* Add detail to cache keys
2021-10-31 19:22:55 -04:00
Jonathan Thomas
bbbb72aa5d Merge pull request #757 from ferdnyc/resvg-in-ci
Resvg: Add support for v0.11.0+, enable in GitHub CI
2021-10-28 21:31:58 -05:00
Frank Dana
dae8ca5e4e CI: Validate repository licensing with Reuse (#758) 2021-10-16 02:50:25 -04:00
Frank Dana
59138ea3e4 Adopt license management via Reuse project/tool (#711)
* reuse-managed license/copyright headers

reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.

* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
  - Add headers to source files
  - Change blanket licensing in .reuse/dep5 to only cover binary media
  - Import CC-BY-3.0 license and assign to sintel_trailer
2021-10-16 01:26:26 -04:00
FeRD (Frank Dana)
c9cbf3f2b0 QtImageReader.cpp: Convert tabs to spaces 2021-10-08 16:36:01 -04:00
FeRD (Frank Dana)
e3ca106f20 CI: Add cached Resvg build (Linux clang) 2021-10-08 03:20:02 -04:00
Frank Dana
ac956f05f1 CI: Add Windows and macOS builds, unit testing (#734)
- Switch to Windows lld for linking (faster)
- Exclude generated protobuf sources from coverage
- When setting EXE, SHARED linker flags, also set MODULE
- Windows clang++ builds are disabled (libopenshot-audio breaks)
- Coverage collection is disabled on macOS and Windows (path issues)
2021-09-29 01:36:51 -04:00
Frank Dana
d41c482cb2 CI: Fix Clang builds, coverage (#736) 2021-09-22 01:37:58 -04:00
dependabot[bot]
3df837944b Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#733)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-21 21:11:48 -04:00
Frank Dana
62b7370b02 Add explicit QtSvg dependency (#731)
* Add explicit QtSvg dependency
* Add QtSvg to CI dependencies
2021-09-16 12:34:05 -04:00
dependabot[bot]
2dbb8d5313 Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#722)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-08 17:47:51 -04:00
Frank Dana
fea43bdd8a CI: Build audio lib & cache (#727)
* CI: Build audio lib & cache

* Also key audio cache on CMakeLists.txt hash

* Exclude audio sources from coverage
2021-09-08 17:47:10 -04:00
dependabot[bot]
9662bcbeea Bump codecov/codecov-action from 1 to 2.0.2 (#709)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 2.0.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v2.0.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-09 09:49:28 -04:00
Frank Dana
56a6921354 CI,bionic: Work around broken libzmq5 dep (#671) 2021-05-06 14:26:12 -04:00
Frank Dana
4e4a95c648 Gitlab-CI: Update Windows builder configs, OpenShotAudio linking; enable Windows unit tests (#657)
* Remove no-longer-used cmake Modules

* Don't use OpenShot.h in ExampleHtml.cpp

When `#include`-ing the whole mess, building the file was leading
to what looked like out-of-memory errors. Replacing the monolithic
header with just the necessary ones cleared it up.

* .gitlab-ci.yml: Update for new Windows setup

* Make unit tests work under Windows

- Copying the built and depended (libopenshot-audio) DLLs into
  the unit test dir before building the tests ensures that when
  the test executables are run by the Catch.cmake module to
  discover their contents, the executables will find the DLLs
  they need in order to run.

* Gitlab-ci: Run unit tests on Windows

* Rename openshot-html-example

(The former name, openshot-html-test, was too close to the new
name format for all of our unit test executables, making things
unnecessarily confusing.)

* Rename JuceHeader.h to OpenShotAudio.h

* Github Actions: Install ALSA libs

With the switch to an EXPORTED CMake configuration for
libopenshot-audio, its dependencies become our dependencies.
Which means that CMake now correctly requires that the ALSA
libs be installed.
2021-04-19 15:59:52 -04:00