Skip to content
This repository was archived by the owner on Nov 10, 2024. It is now read-only.

Commit 011216c

Browse files
committed
commit message
0 parents  commit 011216c

File tree

138 files changed

+122525
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

138 files changed

+122525
-0
lines changed

.github/FUNDING.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# These are supported funding model platforms
2+
3+
github: ak5k # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
otechie: # Replace with a single Otechie username
12+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
13+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/workflows/ci-cd.yml

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
name: Build and Validate
2+
permissions: write-all
3+
on:
4+
# NOTE: Include "[no ci]", "[skip ci]", or "[ci skip]" in the commit message
5+
# to prevent push and pull_request events from triggering workflows.
6+
7+
push:
8+
tags:
9+
- '*'
10+
11+
# By default, only `opened`, `synchronize`, and `reopened` activity types will trigger the workflow
12+
pull_request:
13+
14+
# Manual trigger:
15+
workflow_dispatch:
16+
17+
env:
18+
BUILD_TYPE: Release
19+
CMAKE_BUILD_PARALLEL_LEVEL: 3 # Use up to 3 CPUs to build juceaide, etc.
20+
STRICTNESS_LEVEL: 10 # Strictness level for pluginval validation
21+
TIMEOUT_MS: 60000 # Set pluginval to time out after 1 minute
22+
23+
24+
25+
# Jobs run in parallel by default
26+
jobs:
27+
build_and_validate:
28+
name: Build and validate on ${{ matrix.config.name }}
29+
30+
runs-on: ${{ matrix.config.os }}
31+
32+
strategy:
33+
# Don't cancel all in-progress jobs if any matrix job fails:
34+
fail-fast: false
35+
# Define a matrix of job configurations:
36+
matrix:
37+
config:
38+
- {
39+
name: 'macos',
40+
os: macos-11,
41+
gen: 'Xcode', # CMake generator
42+
# Use ccache. Enable building universal binaries. Set the minimum MacOS target:
43+
cmake_config_flags: "-G \"Xcode\" -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache -D CMAKE_OSX_ARCHITECTURES=arm64\\;x86_64 -D CMAKE_OSX_DEPLOYMENT_TARGET=10.13",
44+
# Enable parallel builds with make:
45+
cmake_build_flags: "--parallel 6",
46+
}
47+
- {
48+
name: 'windows',
49+
os: windows-2022,
50+
gen: 'MSVC', # CMake generator
51+
cmake_config_flags: "-G \"Visual Studio 17 2022\" -A x64 -T v141 -DCMAKE_SYSTEM_VERSION=\"8.1\"",
52+
}
53+
- {
54+
name: 'linux',
55+
os: ubuntu-20.04
56+
}
57+
58+
# Steps run in sequence. Each step runs in its own process in the runner environment and has access to the workspace and filesystem
59+
# NB! Because steps run in their own process, changes to environment variables are not preserved between steps
60+
steps:
61+
62+
- if: runner.os == 'Linux'
63+
run: |
64+
sudo apt update -y
65+
sudo apt install -y libasound2-dev libjack-jackd2-dev \
66+
ladspa-sdk \
67+
libcurl4-openssl-dev \
68+
libfreetype6-dev \
69+
libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev \
70+
libwebkit2gtk-4.0-dev \
71+
libglu1-mesa-dev mesa-common-dev
72+
73+
- name: Checkout code
74+
uses: actions/checkout@v3
75+
76+
# Use the ccache compiler cache to speed up builds
77+
# Note: ccache does not support Windows
78+
- name: Enable ccache
79+
if: runner.os != 'Windows'
80+
uses: hendrikmuhs/ccache-action@v1
81+
with:
82+
key: ${{ runner.os }}-${{ env.BUILD_TYPE }}
83+
84+
# Set up the dependency cache to be updated for every new commit
85+
# We include the CMake generator name in the cache key. This helps avoiding cache conflicts when switching generators
86+
- name: Cache dependencies
87+
uses: actions/cache@v3
88+
with:
89+
path: Libs
90+
key: libs-${{ runner.os }}-${{ matrix.config.gen }}-${{ github.sha }}
91+
restore-keys: libs-${{ runner.os }}-${{ matrix.config.gen }}-
92+
93+
- name: Set version
94+
shell: bash
95+
run: |
96+
VERSION_NUMBER=$(echo $GITHUB_REF_NAME | sed 's/v//')
97+
sed -i.bak "s/0.0.0/${VERSION_NUMBER}/" CMakeLists.txt
98+
echo $VERSION_NUMBER
99+
100+
- name: Configure CMake
101+
run: cmake -B Build ${{ matrix.config.cmake_config_flags }} -D CMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
102+
103+
- name: Build
104+
run: cmake --build Build --config ${{ env.BUILD_TYPE }} ${{ matrix.config.cmake_build_flags }}
105+
106+
- name: Prepare build artifacts
107+
shell: bash
108+
working-directory: Build
109+
run: |
110+
shopt -s extglob # Enable bash extended globbing
111+
mkdir ${{ runner.os }}-${{github.ref_name}}
112+
cpack
113+
mv cpack/ndi* ${{ runner.os }}-${{github.ref_name}}/
114+
115+
- if: runner.os == 'Windows'
116+
run: |
117+
Compress-Archive -Path Build\${{ runner.os }}-${{github.ref_name}}\* -Destination NDI_Audio_IO-${{ runner.os }}-${{github.ref_name}}.zip
118+
119+
- if: runner.os != 'Windows'
120+
run: |
121+
zip --junk-paths NDI_Audio_IO-${{ runner.os }}-${{github.ref_name}}.zip Build/${{ runner.os }}-${{github.ref_name}}/*
122+
123+
- name: Release
124+
uses: softprops/action-gh-release@v1
125+
with:
126+
files: NDI_Audio_IO-${{ runner.os }}-${{github.ref_name}}.zip
127+
draft: true

.gitignore

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
### Project ###
2+
**/*[Bb]uild*/
3+
**/out/
4+
**/JuceLibraryCode/
5+
# Created by https://www.toptal.com/developers/gitignore/api/C++,CMake,macos,windows
6+
# Edit at https://www.toptal.com/developers/gitignore?templates=C++,CMake,macos,windows
7+
.vscode/*
8+
!.vscode/settings.json
9+
!.vscode/tasks.json
10+
!.vscode/launch.json
11+
!.vscode/extensions.json
12+
!.vscode/*.code-snippets
13+
14+
!**/*ndi*/
15+
!**/*asiosdk*/
16+
libndi_ios.a
17+
18+
### C++ ###
19+
# Prerequisites
20+
*.d
21+
22+
# Compiled Object files
23+
*.slo
24+
*.lo
25+
*.o
26+
*.obj
27+
28+
# Precompiled Headers
29+
*.gch
30+
*.pch
31+
32+
# Compiled Dynamic libraries
33+
*.so
34+
*.dylib
35+
*.dll
36+
37+
# Fortran module files
38+
*.mod
39+
*.smod
40+
41+
# Compiled Static libraries
42+
*.lai
43+
*.la
44+
*.a
45+
# *.lib
46+
47+
# Executables
48+
*.exe
49+
*.out
50+
*.app
51+
52+
### CMake ###
53+
CMakeLists.txt.user
54+
CMakeCache.txt
55+
CMakeFiles
56+
CMakeScripts
57+
Testing
58+
Makefile
59+
cmake_install.cmake
60+
install_manifest.txt
61+
compile_commands.json
62+
CTestTestfile.cmake
63+
_deps
64+
65+
### CMake Patch ###
66+
# External projects
67+
*-prefix/
68+
69+
### macOS ###
70+
# General
71+
.DS_Store
72+
.AppleDouble
73+
.LSOverride
74+
75+
# Icon must end with two \r
76+
Icon
77+
78+
# Thumbnails
79+
._*
80+
81+
# Files that might appear in the root of a volume
82+
.DocumentRevisions-V100
83+
.fseventsd
84+
.Spotlight-V100
85+
.TemporaryItems
86+
.Trashes
87+
.VolumeIcon.icns
88+
.com.apple.timemachine.donotpresent
89+
90+
# Directories potentially created on remote AFP share
91+
.AppleDB
92+
.AppleDesktop
93+
Network Trash Folder
94+
Temporary Items
95+
.apdisk
96+
97+
### Windows ###
98+
# Windows thumbnail cache files
99+
Thumbs.db
100+
Thumbs.db:encryptable
101+
ehthumbs.db
102+
ehthumbs_vista.db
103+
104+
# Dump file
105+
*.stackdump
106+
107+
# Folder config file
108+
[Dd]esktop.ini
109+
110+
# Recycle Bin used on file shares
111+
$RECYCLE.BIN/
112+
113+
# Windows Installer files
114+
*.cab
115+
*.msi
116+
*.msix
117+
*.msm
118+
*.msp
119+
120+
# Windows shortcuts
121+
*.lnk
122+
123+
# End of https://www.toptal.com/developers/gitignore/api/C++,CMake,macos,windows

.vscode/launch.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "linux-standalone",
9+
"type": "cppdbg",
10+
"request": "launch",
11+
"program": "${workspaceFolder}/build/NDI-Audio-IO_artefacts/Debug/Standalone/NDI Audio IO",
12+
"args": [],
13+
"stopAtEntry": false,
14+
"cwd": "${fileDirname}",
15+
"environment": [],
16+
"externalConsole": false,
17+
"MIMode": "gdb",
18+
"setupCommands": [
19+
{
20+
"description": "Enable pretty-printing for gdb",
21+
"text": "-enable-pretty-printing",
22+
"ignoreFailures": true
23+
},
24+
{
25+
"description": "Set Disassembly Flavor to Intel",
26+
"text": "-gdb-set disassembly-flavor intel",
27+
"ignoreFailures": true
28+
}
29+
]
30+
},
31+
{
32+
"name": "mac-standalone",
33+
"type": "cppdbg",
34+
"request": "launch",
35+
"program": "${workspaceFolder}/build/NDI-Audio-IO_artefacts/Debug/Standalone/NDI Audio IO.app/Contents/MacOS/NDI Audio IO",
36+
"args": [],
37+
"stopAtEntry": false,
38+
"cwd": "${fileDirname}",
39+
"environment": [],
40+
"externalConsole": false,
41+
"MIMode": "lldb"
42+
},
43+
{
44+
"name": "win-standalone",
45+
"type": "cppvsdbg",
46+
"request": "launch",
47+
"program": "${workspaceFolder}/build/NDI-Audio-IO_artefacts/Debug/Standalone/NDI Audio IO.exe",
48+
"args": [],
49+
"stopAtEntry": false,
50+
"cwd": "${fileDirname}",
51+
"environment": [],
52+
},
53+
{
54+
"name": "win-reaper",
55+
"type": "cppvsdbg",
56+
"request": "launch",
57+
"program": "C:/Program Files/REAPER (x64)/reaper.exe",
58+
"args": [],
59+
"stopAtEntry": false,
60+
"cwd": "${fileDirname}",
61+
"environment": [],
62+
}
63+
]
64+
}

0 commit comments

Comments
 (0)