Use fluidlite instead of fluidsynth, for easier compilation #1448
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: C/C++ CI | |
on: | |
workflow_dispatch: | |
push: | |
branches: ["master", "CI"] | |
paths-ignore: ["md-help/**"] | |
pull_request: | |
branches: ["master", "CI"] | |
paths-ignore: ["md-help/**", "Help-files/**"] | |
jobs: | |
# =============================================================== | |
# =============================================================== | |
# =============================================================== | |
Linux-Build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install PureData | |
run: sudo apt-get install puredata -y | |
- name: Downloads pd-Sources | |
run: | | |
PD_URL=$(curl -L -s https://api.github.com/repos/pure-data/pure-data/tags | grep zipball_url | grep -v latest | grep -v pd-0.54 | grep -v tagtest | head -n 1 | cut -d '"' -f 4) | |
curl -L -o pure-data.zip $PD_URL | |
unzip pure-data.zip | |
rm pure-data.zip | |
mv pure-data-* pure-data | |
- name: Install FluidSynth deps | |
run: | | |
sudo apt update | |
sudo apt install cmake libglib2.0-dev libpcre++-dev libsndfile1-dev patchelf -y | |
- name: build FluidSynth | |
run: | | |
mkdir ./else-Linux | |
cd Code_source/Compiled/audio/sfont~ | |
URL=$(curl -L -s https://api.github.com/repos/FluidSynth/fluidsynth/releases/latest | grep zipball_url | cut -d '"' -f 4) | |
curl -L -o fluidsynth.zip $URL | |
unzip fluidsynth.zip | |
rm fluidsynth.zip | |
mv FluidSynth-* FluidSynth | |
cd FluidSynth | |
mkdir build | |
cd build | |
cmake -Denable-libsndfile=on -Denable-jack=off -Denable-alsa=off -Denable-oss=off -Denable-pulseaudio=off -Denable-ladspa=off -Denable-aufile=off -Denable-network=off -Denable-ipv6=off -Denable-getopt=off -Denable-sdl2=off -Denable-threads=off .. | |
sudo ldconfig /lib/x86_64-linux-gnu/ | |
sudo ldconfig -v | |
sudo make install | |
- name: Add Dynamic libraries | |
run: | | |
sudo sh -c 'echo "/lib/x86_64-linux-gnu/" >> /etc/ld.so.conf' | |
sudo sh -c 'echo "/lib64/" >> /etc/ld.so.conf' | |
sudo sh -c 'echo "/usr/local/lib/" >> /etc/ld.so.conf' | |
sudo ldconfig | |
sudo ldconfig -v | |
- name: Build sfont~ | |
run: | | |
cd ./Code_source/Compiled/audio/sfont~ | |
make PDLIBDIR=${{github.workspace}}/else-Linux/ extension=l_amd64 | |
- name: Build pd-sfz~ | |
run: | | |
cd ./Code_source/Compiled/audio/sfz~ | |
make PDINCLUDEDIR=./pure-data/src/ | |
cd ./sfizz/build/pd/sfizz/ | |
ls | |
- name: Build plaits~ | |
run: | | |
cd ./Code_source/Compiled/audio/plaits~ | |
make PDINCLUDEDIR=${{github.workspace}}/pure-data/src extension=l_amd64 | |
- name: Build circuit~ | |
run: | | |
cd ./Code_source/Compiled/audio/circuit~ | |
make PDINCLUDEDIR=${{github.workspace}}/pure-data/src extension=l_amd64 | |
- name: Build play.file~ | |
run: | | |
cd ./Code_source/Compiled/audio/play.file~ | |
make PDINCLUDEDIR=./pure-data/src/ extension=l_amd64 all_obj | |
- name: Build pd-else | |
run: | | |
make PDINCLUDEDIR=./pure-data/src/ extension=l_amd64 | |
- name: Create Library Folder | |
run: | | |
cp *.l_amd64 ./else-Linux | |
cp ./Documentation/Help-files/* ./else-Linux | |
cp -r ./Code_source/Abstractions/control/* ./else-Linux | |
cp -r ./Code_source/Abstractions/audio/* ./else-Linux | |
cp -r ./Code_source/Abstractions/extra_abs/* ./else-Linux | |
cp -r ./Documentation/Live-Electronics-Tutorial ./else-Linux | |
cp -r ./Code_source/Compiled/audio/plaits~/*.l_amd64 ./else-Linux | |
cp -r ./Code_source/Compiled/audio/circuit~/*.l_amd64 ./else-Linux | |
cp -r ./Code_source/Compiled/audio/play.file~/*.l_amd64 ./else-Linux | |
cp -r ./Code_source/Compiled/extra_source/*.tcl ./else-Linux | |
cp -r ./Code_source/Compiled/audio/sfz~/sfizz/build/pd/sfizz/sfizz.pd_linux ./else-Linux | |
mv ./else-Linux/sfizz.pd_linux ./else-Linux/sfz~.l_amd64 | |
cp -r ./Documentation/extra_files/* ./else-Linux | |
cp ./Documentation/README.pdf ./else-Linux | |
rm -rf ./else-Linux/sfont~ | |
- name: Upload Zip | |
uses: actions/upload-artifact@v3 | |
with: | |
name: else | |
path: ./else-Linux/* | |
# # # # =============================================================== | |
# # # # =============================================================== | |
# # # # =============================================================== | |
Windows-Build: | |
runs-on: windows-latest | |
timeout-minutes: 25 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- if: runner.os == 'Windows' | |
name: "Install mingw deps" | |
uses: msys2/setup-msys2@v2 | |
with: | |
install: make mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-ntldd-git mingw-w64-x86_64-fluidsynth mingw64/mingw-w64-x86_64-cmake unzip curl | |
update: false | |
# - name: Configure Environment | |
# run: | | |
# mkdir py4pd_WIN64 | |
# choco install puredata --yes | |
- if: runner.os == 'Windows' | |
name: Get Pd | |
shell: msys2 {0} | |
run: | | |
curl -L -o pure-data.zip http://msp.ucsd.edu/Software/pd-0.54-0.msw.zip | |
unzip pure-data.zip | |
rm pure-data.zip | |
rename pd-0.54-0 pd pd-0.54-0 | |
# mv ./pd-* ./pd | |
- if: runner.os == 'Windows' | |
name: Build pd-else | |
shell: msys2 {0} | |
run: | | |
make PDDIR=./pd extension=m_amd64 install | |
- if: runner.os == 'Windows' | |
name: Build sfont~ | |
shell: msys2 {0} | |
run: | | |
cd Code_source/Compiled/audio/sfont~/ | |
make PDDIR=../../../../pd PDLIBDIR=./out extension=m_amd64 | |
cd ../../../../ | |
- if: runner.os == 'Windows' | |
name: Build plaits~ | |
shell: msys2 {0} | |
run: | | |
cd Code_source/Compiled/audio/plaits~ | |
make PDDIR=../../../../pd PDLIBDIR=./out extension=m_amd64 install | |
cd ../../../../ | |
- if: runner.os == 'Windows' | |
name: Build sfz~ | |
shell: msys2 {0} | |
run: | | |
make PDDIR=./pd PDLIBDIR=./out extension=m_amd64 sfz | |
make PDDIR=./pd PDLIBDIR=./out extension=m_amd64 sfz-install | |
- if: runner.os == 'Windows' | |
name: Build circuit~ | |
shell: msys2 {0} | |
run: | | |
make PDDIR=../../../../pd PDLIBDIR=./out extension=m_amd64 circuit | |
- if: runner.os == 'Windows' | |
name: Build play.file~ | |
shell: msys2 {0} | |
run: | | |
make PDDIR=../../../../pd extension=m_amd64 play.file | |
- if: runner.os == 'Windows' | |
name: Create Library Folder | |
shell: msys2 {0} | |
run: | | |
mkdir ./else-Windows | |
cp -r ./out/else/*.* ./else-Windows | |
cp -r ./Code_source/Compiled/audio/sfont~/*.m_amd64 ./else-Windows | |
cp -r ./Code_source/Compiled/audio/plaits~/out/plaits~/*.* ./else-Windows | |
cp ./Code_source/Compiled/audio/play.file~/*.m_amd64 ./else-Windows | |
- name: Upload Zip | |
uses: actions/upload-artifact@v3 | |
with: | |
name: else | |
path: ./else-Windows/* | |
# # =============================================================== | |
# # =============================================================== | |
# # =============================================================== | |
Mac-Intel: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: set Enviroment | |
run: | | |
brew cleanup --prune=all | |
brew install --cask pd | |
brew install fluidsynth pkg-config | |
- name: Build sfont~ | |
run: | | |
cd ./Code_source/Compiled/audio/sfont~ | |
make extension=d_amd64 | |
- name: Build pd-sfz~ | |
run: | | |
cd ./Code_source/Compiled/audio/sfz~ | |
make extension=d_amd64 | |
- name: Build plaits~ | |
run: | | |
cd ./Code_source/Compiled/audio/plaits~ | |
make extension=d_amd64 | |
- name: Build circuit~ | |
run: | | |
cd ./Code_source/Compiled/audio/circuit~ | |
make extension=d_amd64 | |
- name: Build play.file~ | |
run: | | |
cd ./Code_source/Compiled/audio/play.file~ | |
make extension=d_amd64 all_obj | |
- name: Build pd-else | |
run: | | |
make extension=d_amd64 | |
- name: Create Library Folder | |
run: | | |
mkdir else-MacOS | |
cp *.d_amd64 ./else-MacOS | |
cp ./Code_source/Compiled/audio/plaits~/*.d_amd64 ./else-MacOS | |
cp ./Code_source/Compiled/audio/circuit~/*.d_amd64 ./else-MacOS | |
cp ./Code_source/Compiled/audio/play.file~/*.d_amd64 ./else-MacOS | |
cp -r ./Code_source/Compiled/audio/sfz~/sfizz/build/pd/sfizz/*.pd_darwin ./else-MacOS | |
mv ./else-MacOS/sfizz.pd_darwin ./else-MacOS/sfz~.d_amd64 | |
cp -r ./Code_source/Compiled/audio/sfont~/sfont~.d_amd64 ./else-MacOS | |
- name: Upload Zip | |
uses: actions/upload-artifact@v3 | |
with: | |
name: else | |
path: ./else-MacOS/* | |
# =============================================================== | |
# =============================================================== | |
# =============================================================== | |
Mac-ARM: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: set Enviroment | |
run: | | |
brew cleanup --prune=all | |
brew install --cask pd | |
brew install fluidsynth pkg-config | |
- name: Build sfont~ | |
run: | | |
cd ./Code_source/Compiled/audio/sfont~ | |
make extension=d_arm64 | |
- name: Build pd-sfz~ | |
run: | | |
cd ./Code_source/Compiled/audio/sfz~ | |
make extension=d_arm64 | |
- name: Build plaits~ | |
run: | | |
cd ./Code_source/Compiled/audio/plaits~ | |
make extension=d_arm64 | |
- name: Build circuit~ | |
run: | | |
cd ./Code_source/Compiled/audio/circuit~ | |
make extension=d_arm64 | |
- name: Build play.file~ | |
run: | | |
cd ./Code_source/Compiled/audio/play.file~ | |
make extension=d_arm64 all_obj | |
- name: Build pd-else | |
run: | | |
make extension=d_arm64 | |
- name: Create Library Folder | |
run: | | |
mkdir else-MacOS | |
cp *.d_arm64 ./else-MacOS | |
cp ./Code_source/Compiled/audio/plaits~/*.d_arm64 ./else-MacOS | |
cp ./Code_source/Compiled/audio/circuit~/*.d_arm64 ./else-MacOS | |
cp ./Code_source/Compiled/audio/play.file~/*.d_arm64 ./else-MacOS | |
cp -r ./Code_source/Compiled/audio/sfz~/sfizz/build/pd/sfizz/*.pd_darwin ./else-MacOS | |
mv ./else-MacOS/sfizz.pd_darwin ./else-MacOS/sfz~.d_arm64 | |
cp -r ./Code_source/Compiled/audio/sfont~/sfont~.d_arm64 ./else-MacOS | |
- name: Upload Zip | |
uses: actions/upload-artifact@v3 | |
with: | |
name: else | |
path: ./else-MacOS/* |