Skip to content

Commit

Permalink
Initial Integration of RtAudio (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
RinoReyns authored Mar 31, 2024
1 parent 456f8e2 commit 6696481
Show file tree
Hide file tree
Showing 11 changed files with 490 additions and 66 deletions.
6 changes: 6 additions & 0 deletions .github/workflows/vst_host_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ jobs:
python -m pip install --upgrade pip
pip install -r ${{github.workspace}}/VstHost_Python/requirements.txt
sudo apt-get install libsndfile1-dev
sudo apt-get install libasound2-dev
- name: Install Doxygen
run: |
Expand Down Expand Up @@ -118,6 +119,7 @@ jobs:
.*argparser.hpp*
.*json.hpp*
.*vst3sdk*
.*rtaudio*
fail-under-line: 80
coveralls-send: true
github-token: ${{ secrets.COVERALLS_REPO_TOKEN }}
Expand Down Expand Up @@ -228,6 +230,10 @@ jobs:
uses: jwlawson/actions-setup-cmake@v1.13
with:
cmake-version: '3.19.x'

- name: Install Audio Drivers
run: |
sudo apt-get install libasound2-dev
- name: Use cmake
run: cmake --version
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,6 @@
path = VstHost_VisualC++/modules/AudioProcessing/filter-c
url = git@github.com:RinoReyns/filter-c.git

[submodule "VstHost_VisualC++/external_modules/RtAudio/rtaudio"]
path = VstHost_VisualC++/external_modules/RtAudio/rtaudio
url = https://github.com/thestk/rtaudio.git
24 changes: 7 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ is why this repository was created. I know that it will take a lot of work but i
3. Android
```
NOTE:
Following instraction is made for Linux enviroment. However, steps for any OS should be similar.
Following instruction is made for Linux enviroment. However, steps for any OS should be similar.
1. Download Android NDK and unzip in the chosen location. (https://developer.android.com/ndk/downloads).
2. Set environmental variable for Android NDK as foloow:
Expand Down Expand Up @@ -122,28 +122,17 @@ is why this repository was created. I know that it will take a lot of work but i
- [x] Generate Documentation
- [x] AudioProcessing Class that can wrap different non-vst algorithms
- [x] Clean up code in vst host lib
- [x] Cross-Platform Audio Endpoint Render-Capture
- TODO:
- [ ] Add more advanced python-based Vst Host Lib utilization
- [ ] Add more UT for python and Android
- [ ] Integrate better wave reader
- [ ] Build solution for ARM
- [ ] Create Render/Capture manager class. Its design should allow to use it for any OS.
- [ ] Work on Render and Capture implementation for Windows
- [ ] Handle different audio formats e.g. sampling rate, bit depth etc.
- [ ] Create and pass config for AudioProcessing Class.
- [ ] Enable streaming processing (one frame in, one frame out).
1. Windows OS
- Implemented:
- [x] Basic code for Audio Endpoint Reader
- TODO:
- [ ] Clean up audio endpoint reader and utilize it in code (add queue, use it for processing with vst plugin etc)
1. Linux & Mac OS
- TODO:
- [ ] Add endpoint reader
- [ ] Create and pass config for AudioProcessing Class
- [ ] Enable streaming processing (one frame in, one frame out)
- [ ] Clean up Endpoint Manager Class
1. Android
Expand All @@ -161,6 +150,7 @@ is why this repository was created. I know that it will take a lot of work but i
1. [C ++ Json Handler](https://github.com/nlohmann/json)
1. [Windows Endpoint Reader](https://github.com/mofo7777/Stackoverflow/tree/master/WasapiCapture)
1. [Implementation of audio filters in C](https://github.com/adis300/filter-c)
1. [Real Timie Audio Render and Capture](https://github.com/thestk/rtaudio)
VST is a trademark held by Steinberg Media Technologies, GMBH.
Expand Down
1 change: 1 addition & 0 deletions VstHost_VisualC++/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ add_subdirectory(vst3sdk/base)
add_subdirectory(vst3sdk/public.sdk)
add_subdirectory(vst3sdk/public.sdk/samples/vst/adelay)
add_subdirectory(modules)
add_subdirectory(external_modules)

if (NOT ${ANDROID_BUILD})
set_target_properties(gtest PROPERTIES ${UNIT_TESTS_FOLDER})
Expand Down
22 changes: 22 additions & 0 deletions VstHost_VisualC++/external_modules/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
if (MSVC)
add_compile_options(/W1 /WX)
add_link_options(/WX)
include(SMTG_AddSubDirectories)
smtg_add_subdirectories()
elseif (UNIX AND !${ANDROID_BUILD})
add_compile_options(-Werror -Wextra)
elseif(LINUX)
find_program(GCOV_PATH gcov)
if(NOT GCOV_PATH)
message(${GCOV_PATH})
message("[WARNING] Code coverage analysis requires gcov!")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage -O0")
message("[MESSAGE] Code coverage analysis found gcov!")
endif()
include(SMTG_AddSubDirectories)
smtg_add_subdirectories()
endif()



Loading

0 comments on commit 6696481

Please sign in to comment.