Skip to content

Commit 4eda1b8

Browse files
committed
Initial commit
0 parents  commit 4eda1b8

File tree

154 files changed

+16557
-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.

154 files changed

+16557
-0
lines changed

.devcontainer/Dockerfile

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM emscripten/emsdk
2+
3+
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
4+
&& apt-get -y install --no-install-recommends vim faust \
5+
&& pip3 install semver
6+
7+
RUN echo "alias python=python3 \n alias lr='ls -lart' \n alias cd..='cd ..'" >> "$HOME/.bashrc"
8+
9+
#patch emcc.py
10+
RUN sed -i.bak s,"if not js_manipulation.isidentifier(settings.EXPORT_NAME):","if False:",g "/emsdk/upstream/emscripten/emcc.py"

.devcontainer/devcontainer.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"name": "iPlug2WAM",
3+
"build": {
4+
"dockerfile": "Dockerfile"
5+
},
6+
"extensions": [
7+
"ms-vscode.cpptools",
8+
"cschlosser.doxdocgen",
9+
"hellbent.vscode-faust"
10+
],
11+
"postCreateCommand": "./setup_container.sh",
12+
"portsAttributes": {
13+
"8001": {
14+
"label": "emrun",
15+
"protocol": "https"
16+
}
17+
}
18+
}

.github/workflows/build-native.yml

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: Build Native
2+
3+
on:
4+
workflow_dispatch
5+
# push:
6+
# tags:
7+
# - "v*"
8+
9+
env:
10+
PROJECT_NAME: iPlug2OnnxRuntime
11+
12+
jobs:
13+
build:
14+
name: Build-native-plugins
15+
runs-on: ${{matrix.os}}
16+
strategy:
17+
matrix:
18+
os: [macos-latest, windows-latest]
19+
include:
20+
- os: macos-latest
21+
build_dir: build-mac
22+
artifact_ext: mac
23+
- os: windows-latest
24+
build_dir: build-win
25+
artifact_ext: win
26+
27+
steps:
28+
- name: Check out repository
29+
uses: actions/checkout@v3
30+
with:
31+
submodules: recursive
32+
33+
- name: Get VST3 SDK
34+
run: |
35+
cd iPlug2/Dependencies/IPlug
36+
./download-iplug-sdks.sh
37+
shell: bash
38+
39+
- name: Get Prebuilt Libs
40+
run: |
41+
cd iPlug2/Dependencies
42+
./download-prebuilt-libs.sh
43+
shell: bash
44+
45+
- name: Build macOS
46+
if: matrix.os == 'macOS-latest'
47+
run: |
48+
cd ${{env.PROJECT_NAME}}/scripts
49+
./makedist-mac.sh full zip
50+
shell: bash
51+
52+
- name: Add msbuild to PATH (Windows)
53+
if: matrix.os == 'windows-latest'
54+
uses: microsoft/setup-msbuild@v1
55+
56+
- name: Build Windows
57+
if: matrix.os == 'windows-latest'
58+
run: |
59+
cd ${{env.PROJECT_NAME}}\scripts
60+
.\makedist-win.bat full zip
61+
shell: pwsh
62+
63+
- name: Upload artifact
64+
uses: actions/upload-artifact@v1
65+
with:
66+
name: ${{env.PROJECT_NAME}}-${{matrix.artifact_ext}}
67+
path: ${{env.PROJECT_NAME}}/${{matrix.build_dir}}/out
68+
69+
test:
70+
name: Test Native
71+
needs: build
72+
runs-on: ${{matrix.os}}
73+
strategy:
74+
matrix:
75+
os: [macos-latest, windows-latest]
76+
include:
77+
- os: macos-latest
78+
artifact_ext: mac
79+
- os: windows-latest
80+
artifact_ext: win
81+
82+
steps:
83+
- name: Download artifact
84+
uses: actions/download-artifact@v3
85+
with:
86+
name: ${{env.PROJECT_NAME}}-${{matrix.artifact_ext}}
87+
88+
- name: Unzip files
89+
run: |
90+
unzip *-${{matrix.artifact_ext}}.zip
91+
shell: bash
92+
93+
- name: Pluginval (macOS)
94+
if: matrix.os == 'macos-latest'
95+
run: |
96+
curl -L "https://github.com/Tracktion/pluginval/releases/download/latest_release/pluginval_macOS.zip" -o pluginval.zip
97+
unzip pluginval
98+
pluginval.app/Contents/MacOS/pluginval --skip-gui-tests --validate-in-process --output-dir "./bin" --validate ${{env.PROJECT_NAME}}.vst3 || exit 1
99+
mkdir -p ~/Library/Audio/Plug-Ins/Components
100+
mv ${{env.PROJECT_NAME}}.component ~/Library/Audio/Plug-Ins/Components
101+
pgrep -x AudioComponentRegistrar >/dev/null && killall -9 AudioComponentRegistrar; echo "killed AudioComponentRegistrar" || echo "AudioComponentRegistrar Process not found"
102+
pluginval.app/Contents/MacOS/pluginval --skip-gui-tests --validate-in-process --output-dir "./bin" --validate ~/Library/Audio/Plug-Ins/Components/${{env.PROJECT_NAME}}.component || exit 1
103+
shell: bash
104+
105+
- name: Pluginval (Windows)
106+
if: matrix.os == 'windows-latest'
107+
run: |
108+
powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest https://github.com/Tracktion/pluginval/releases/download/latest_release/pluginval_Windows.zip -OutFile pluginval.zip"
109+
powershell -Command "Expand-Archive pluginval.zip -DestinationPath ."
110+
pluginval.exe --skip-gui-tests --validate-in-process --output-dir "./bin" --validate ${{env.PROJECT_NAME}}.vst3
111+
if %ERRORLEVEL% neq 0 exit /b 1
112+
shell: cmd
113+
114+
- name: Upload artifact
115+
uses: actions/upload-artifact@v1
116+
with:
117+
name: ${{env.PROJECT_NAME}}-${{matrix.artifact_ext}}-pluginval
118+
path: ./bin/

.github/workflows/build-wam.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Build WAM
2+
3+
on:
4+
workflow_dispatch
5+
# push:
6+
# tags:
7+
# - "v*"
8+
9+
env:
10+
PROJECT_NAME: iPlug2OnnxRuntime
11+
URL: https://${{github.repository_owner}}.github.io/${{github.event.repository.name}}/
12+
13+
jobs:
14+
build:
15+
name: Build-WAM
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Check out repository
20+
uses: actions/checkout@v3
21+
with:
22+
submodules: recursive
23+
persist-credentials: false
24+
25+
- name: setup python3
26+
uses: actions/setup-python@v4
27+
with:
28+
python-version: '3.x'
29+
architecture: 'x64'
30+
31+
- name: Setup Emscripten
32+
uses: mymindstorm/setup-emsdk@v11
33+
with:
34+
actions-cache-folder: 'emsdk-cache'
35+
36+
- name: Patch emcc.py
37+
run: |
38+
sed -i.bak s,"if not js_manipulation.isidentifier(settings.EXPORT_NAME):","if False:",g $EMSDK/upstream/emscripten/emcc.py
39+
shell: bash
40+
41+
- name: Get WAM SDKS
42+
run: |
43+
cd iPlug2/Dependencies/IPlug
44+
./download-iplug-sdks.sh
45+
shell: bash
46+
47+
- name: Compile WAM
48+
run: |
49+
cd ${{env.PROJECT_NAME}}/scripts
50+
./makedist-web.sh off ${{env.URL}}
51+
52+
- name: Upload artifact
53+
uses: actions/upload-artifact@v1
54+
with:
55+
name: ${{env.PROJECT_NAME}}-web
56+
path: ${{env.PROJECT_NAME}}/build-web
57+
58+
- name: Publish to pages
59+
uses: JamesIves/[email protected]
60+
with:
61+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
62+
BASE_BRANCH: master
63+
BRANCH: gh-pages
64+
FOLDER: ${{env.PROJECT_NAME}}/build-web

.github/workflows/release-native.yml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
name: Release Native
2+
3+
on:
4+
# workflow_dispatch
5+
push:
6+
tags:
7+
- "v*"
8+
9+
env:
10+
PROJECT_NAME: iPlug2OnnxRuntime
11+
12+
jobs:
13+
create_release:
14+
name: Create release
15+
runs-on: ubuntu-latest
16+
outputs:
17+
upload_url: ${{steps.create_release.outputs.upload_url}}
18+
steps:
19+
- name: Check out repository
20+
uses: actions/checkout@v3
21+
with:
22+
submodules: recursive
23+
24+
- name: Create release
25+
id: create_release
26+
uses: actions/create-release@v1
27+
env:
28+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
29+
with:
30+
draft: true
31+
tag_name: ${{github.ref}}
32+
release_name: Release ${{github.ref}}
33+
body_path: ${{env.PROJECT_NAME}}/installer/changelog.txt
34+
35+
build:
36+
name: Build
37+
needs: create_release
38+
runs-on: ${{matrix.os}}
39+
strategy:
40+
matrix:
41+
os: [macos-latest, windows-latest]
42+
include:
43+
- os: macos-latest
44+
build_dir: build-mac
45+
- os: windows-latest
46+
build_dir: build-win
47+
48+
steps:
49+
- name: Check out repository
50+
uses: actions/checkout@v3
51+
with:
52+
submodules: recursive
53+
54+
- name: Get VST3 SDK
55+
run: |
56+
cd iPlug2/Dependencies/IPlug
57+
./download-iplug-sdks.sh
58+
shell: bash
59+
60+
- name: Get Prebuilt Libs
61+
run: |
62+
cd iPlug2/Dependencies
63+
./download-prebuilt-libs.sh
64+
shell: bash
65+
66+
- name: Get Archive Name macOS
67+
id: mac_archivename_step
68+
if: matrix.os == 'macOS-latest'
69+
run: |
70+
ARCHIVE_NAME=`python3 iPlug2/Scripts/get_archive_name.py ${{env.PROJECT_NAME}} mac full`
71+
echo "name=archive_name::$ARCHIVE_NAME" >> $GITHUB_OUTPUT
72+
shell: bash
73+
74+
- name: Build macOS
75+
if: matrix.os == 'macOS-latest'
76+
run: |
77+
cd ${{env.PROJECT_NAME}}/scripts
78+
./makedist-mac.sh full installer
79+
shell: bash
80+
81+
- name: Upload mac DSYMs release asset
82+
if: matrix.os == 'macOS-latest'
83+
uses: actions/upload-release-asset@v1
84+
env:
85+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
86+
with:
87+
upload_url: ${{needs.create_release.outputs.upload_url}}
88+
asset_path: ${{env.PROJECT_NAME}}/${{matrix.build_dir}}/out/${{steps.mac_archivename_step.outputs.archive_name}}-dSYMs.zip
89+
asset_name: ${{steps.mac_archivename_step.outputs.archive_name}}-dSYMs.zip
90+
asset_content_type: application/zip
91+
92+
- name: Upload mac dmg release asset
93+
if: matrix.os == 'macOS-latest'
94+
uses: actions/upload-release-asset@v1
95+
env:
96+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
97+
with:
98+
upload_url: ${{needs.create_release.outputs.upload_url}}
99+
asset_path: ${{env.PROJECT_NAME}}/${{matrix.build_dir}}/out/${{steps.mac_archivename_step.outputs.archive_name}}.dmg
100+
asset_name: ${{steps.mac_archivename_step.outputs.archive_name}}.dmg
101+
asset_content_type: application/octet-stream
102+
103+
- name: Add msbuild to PATH (Windows)
104+
if: matrix.os == 'windows-latest'
105+
uses: microsoft/setup-msbuild@v1
106+
107+
- name: Setup Python3
108+
if: matrix.os == 'windows-latest'
109+
uses: actions/setup-python@v2
110+
with:
111+
python-version: '3.x'
112+
architecture: 'x64'
113+
114+
- name: Get Archive Name Windows
115+
id: win_archivename_step
116+
if: matrix.os == 'windows-latest'
117+
run: |
118+
ARCHIVE_NAME=`python.exe iPlug2/Scripts/get_archive_name.py ${{env.PROJECT_NAME}} win full`
119+
echo "name=archive_name::$ARCHIVE_NAME" >> $GITHUB_OUTPUT
120+
shell: bash
121+
122+
- name: Build Windows
123+
if: matrix.os == 'windows-latest'
124+
run: |
125+
cd ${{env.PROJECT_NAME}}\scripts
126+
.\makedist-win.bat full installer
127+
shell: pwsh
128+
129+
- name: Upload Windows pdb release asset
130+
if: matrix.os == 'windows-latest'
131+
uses: actions/upload-release-asset@v1
132+
env:
133+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
134+
with:
135+
upload_url: ${{needs.create_release.outputs.upload_url}}
136+
asset_path: ${{env.PROJECT_NAME}}/${{matrix.build_dir}}/out/${{steps.win_archivename_step.outputs.archive_name}}-pdbs.zip
137+
asset_name: ${{steps.win_archivename_step.outputs.archive_name}}-pdbs.zip
138+
asset_content_type: application/zip
139+
140+
- name: Upload Windows zip release asset
141+
if: matrix.os == 'windows-latest'
142+
uses: actions/upload-release-asset@v1
143+
env:
144+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
145+
with:
146+
upload_url: ${{needs.create_release.outputs.upload_url}}
147+
asset_path: ${{env.PROJECT_NAME}}/${{matrix.build_dir}}/out/${{steps.win_archivename_step.outputs.archive_name}}.zip
148+
asset_name: ${{steps.win_archivename_step.outputs.archive_name}}.zip
149+
asset_content_type: application/zip

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.DS_Store
2+
xcuserdata
3+
*.RPP-bak
4+
build-*
5+
6+
*.ipch
7+
*.db
8+
*.suo
9+
*/.vs
10+
*.pem
11+
mkcert*
12+
iPlug2OnnxRuntime/packages/
13+
iPlug2OnnxRuntime/resources/main.aps

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "iPlug2"]
2+
path = iPlug2
3+
url = https://github.com/iPlug2/iPlug2.git
4+
[submodule "ort-builder"]
5+
path = ort-builder
6+
url = [email protected]:olilarkin/ort-builder.git

0 commit comments

Comments
 (0)