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

Commit

Permalink
dev
Browse files Browse the repository at this point in the history
  • Loading branch information
ak5k committed Dec 23, 2023
0 parents commit e9b0143
Show file tree
Hide file tree
Showing 139 changed files with 123,246 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# These are supported funding model platforms

github: ak5k # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
127 changes: 127 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: Build and Validate
permissions: write-all
on:
# NOTE: Include "[no ci]", "[skip ci]", or "[ci skip]" in the commit message
# to prevent push and pull_request events from triggering workflows.

push:
tags:
- '*'

# By default, only `opened`, `synchronize`, and `reopened` activity types will trigger the workflow
pull_request:

# Manual trigger:
workflow_dispatch:

env:
BUILD_TYPE: Release
CMAKE_BUILD_PARALLEL_LEVEL: 3 # Use up to 3 CPUs to build juceaide, etc.
STRICTNESS_LEVEL: 10 # Strictness level for pluginval validation
TIMEOUT_MS: 60000 # Set pluginval to time out after 1 minute



# Jobs run in parallel by default
jobs:
build_and_validate:
name: Build and validate on ${{ matrix.config.name }}

runs-on: ${{ matrix.config.os }}

strategy:
# Don't cancel all in-progress jobs if any matrix job fails:
fail-fast: false
# Define a matrix of job configurations:
matrix:
config:
- {
name: 'macos',
os: macos-11,
gen: 'Xcode', # CMake generator
# Use ccache. Enable building universal binaries. Set the minimum MacOS target:
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",
# Enable parallel builds with make:
cmake_build_flags: "--parallel 6",
}
- {
name: 'windows',
os: windows-2022,
gen: 'MSVC', # CMake generator
cmake_config_flags: "-G \"Visual Studio 17 2022\" -A x64 -T v141 -DCMAKE_SYSTEM_VERSION=\"8.1\"",
}
- {
name: 'linux',
os: ubuntu-20.04
}

# Steps run in sequence. Each step runs in its own process in the runner environment and has access to the workspace and filesystem
# NB! Because steps run in their own process, changes to environment variables are not preserved between steps
steps:

- if: runner.os == 'Linux'
run: |
sudo apt update -y
sudo apt install -y libasound2-dev libjack-jackd2-dev \
ladspa-sdk \
libcurl4-openssl-dev \
libfreetype6-dev \
libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev \
libwebkit2gtk-4.0-dev \
libglu1-mesa-dev mesa-common-dev
- name: Checkout code
uses: actions/checkout@v3

# Use the ccache compiler cache to speed up builds
# Note: ccache does not support Windows
- name: Enable ccache
if: runner.os != 'Windows'
uses: hendrikmuhs/ccache-action@v1
with:
key: ${{ runner.os }}-${{ env.BUILD_TYPE }}

# Set up the dependency cache to be updated for every new commit
# We include the CMake generator name in the cache key. This helps avoiding cache conflicts when switching generators
- name: Cache dependencies
uses: actions/cache@v3
with:
path: Libs
key: libs-${{ runner.os }}-${{ matrix.config.gen }}-${{ github.sha }}
restore-keys: libs-${{ runner.os }}-${{ matrix.config.gen }}-

- name: Set version
shell: bash
run: |
VERSION_NUMBER=$(echo $GITHUB_REF_NAME | sed 's/v//')
sed -i.bak "s/0.0.0/${VERSION_NUMBER}/" CMakeLists.txt
echo $VERSION_NUMBER
- name: Configure CMake
run: cmake -B Build ${{ matrix.config.cmake_config_flags }} -D CMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -D NO_ASIO=ON

- name: Build
run: cmake --build Build --config ${{ env.BUILD_TYPE }} ${{ matrix.config.cmake_build_flags }}

- name: Prepare build artifacts
shell: bash
working-directory: Build
run: |
shopt -s extglob # Enable bash extended globbing
mkdir ${{ runner.os }}-${{github.ref_name}}
cpack
mv cpack/ndi* ${{ runner.os }}-${{github.ref_name}}/
- if: runner.os == 'Windows'
run: |
Compress-Archive -Path Build\${{ runner.os }}-${{github.ref_name}}\* -Destination NDI_Audio_IO-${{ runner.os }}-${{github.ref_name}}.zip
- if: runner.os != 'Windows'
run: |
zip --junk-paths NDI_Audio_IO-${{ runner.os }}-${{github.ref_name}}.zip Build/${{ runner.os }}-${{github.ref_name}}/*
- name: Release
uses: softprops/action-gh-release@v1
with:
files: NDI_Audio_IO-${{ runner.os }}-${{github.ref_name}}.zip
draft: true
123 changes: 123 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
### Project ###
**/*[Bb]uild*/
**/out/
**/JuceLibraryCode/
# Created by https://www.toptal.com/developers/gitignore/api/C++,CMake,macos,windows
# Edit at https://www.toptal.com/developers/gitignore?templates=C++,CMake,macos,windows
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

!**/*ndi*/
**/*asiosdk*
libndi_ios.a

### C++ ###
# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
# *.lib

# Executables
*.exe
*.out
*.app

### CMake ###
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps

### CMake Patch ###
# External projects
*-prefix/

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

# End of https://www.toptal.com/developers/gitignore/api/C++,CMake,macos,windows
64 changes: 64 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "linux-standalone",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/NDI-Audio-IO_artefacts/Debug/Standalone/NDI Audio IO",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
},
{
"name": "mac-standalone",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/NDI-Audio-IO_artefacts/Debug/Standalone/NDI Audio IO.app/Contents/MacOS/NDI Audio IO",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb"
},
{
"name": "win-standalone",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/build/NDI-Audio-IO_artefacts/Debug/Standalone/NDI Audio IO.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
},
{
"name": "win-reaper",
"type": "cppvsdbg",
"request": "launch",
"program": "C:/Program Files/REAPER (x64)/reaper.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
}
]
}
40 changes: 40 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"C_Cpp.codeAnalysis.clangTidy.checks.disabled": [
"bugprone-easily-swappable-parameters",
"cppcoreguidelines-avoid-c-arrays",
"cppcoreguidelines-avoid-magic-numbers",
"cppcoreguidelines-avoid-non-const-global-variables",
"cppcoreguidelines-pro-type-cstyle-cast",
"cppcoreguidelines-pro-type-reinterpret-cast",
"cppcoreguidelines-special-member-functions",
"cppcoreguidelines-virtual-class-destructor",
"hicpp-avoid-c-arrays",
"hicpp-named-parameter",
"hicpp-signed-bitwise",
"hicpp-special-member-functions",
"hicpp-uppercase-literal-suffix",
"modernize-avoid-c-arrays",
"modernize-use-nodiscard",
"modernize-use-trailing-return-type",
"performance-no-int-to-ptr",
"readability-identifier-length",
"readability-implicit-bool-conversion",
"readability-magic-numbers",
"readability-named-parameter",
"readability-uppercase-literal-suffix",
"readability-function-cognitive-complexity",
"cppcoreguidelines-pro-type-union-access",
"bugprone-reserved-identifier",
"readability-avoid-unconditional-preprocessor-if",
"cppcoreguidelines-pro-bounds-pointer-arithmetic",
"hicpp-use-equals-default",
"modernize-use-equals-default",
"hicpp-use-auto",
"modernize-use-auto",
"cert-dcl37-c",
"cppcoreguidelines-no-malloc",
"cppcoreguidelines-owning-memory",
"modernize-redundant-void-arg",
"cppcoreguidelines-pro-type-vararg"
]
}
Loading

0 comments on commit e9b0143

Please sign in to comment.