-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
helper to produce distributions of cross-compiled statically-linked W…
…indows build
- Loading branch information
Showing
19 changed files
with
3,852 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/out/ |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Juicy Soundfont Plugin | ||
|
||
https://github.com/Birch-san/juicysfplugin | ||
|
||
Targets Windows 7 x86_64 | ||
Commonly this means a 64-bit Intel or AMD processor. | ||
|
||
## Installation | ||
|
||
If the folder "C:\Program Files\Common Files\VST3" does not yet exist: make the folder yourself. | ||
If the folder "C:\Program Files\Common Files\VST2" does not yet exist: make the folder yourself. | ||
|
||
VST2\libjuicysfplugin.dll -> "C:\Program Files\Common Files\VST2\libjuicysfplugin.dll" | ||
VST3\juicysfplugin.vst3 -> "C:\Program Files\Common Files\VST3\juicysfplugin.vst3" | ||
Standalone\juicysfplugin.exe -> "C:\Program Files\Birchlabs\juicysfplugin.exe" | ||
|
||
### Upgrading from a previous version of juicysfplugin | ||
|
||
Run the uninstaller that came with juicysfplugin, or delete the files that are described in these release notes: | ||
https://github.com/Birch-san/juicysfplugin/releases/tag/2.3.3 | ||
|
||
You may notice that opening SF3 soundfonts is slower than before. | ||
This is because juicysfplugin is now linked statically which means we can no longer use OpenMP to load SF3 soundfonts via multi-threading. | ||
(OpenMP does not support static linking on MinGW). | ||
The upside is that installation is now easier (single-file binary). | ||
|
||
## Usage | ||
|
||
Pick a soundfont from the file-picker (drag-and-drop works too). | ||
|
||
### Soundfonts | ||
|
||
Here's some soundfonts to get you started: | ||
|
||
- Fatboy (no specific license stated, but described as "free") | ||
- https://fatboy.site/ | ||
- MuseScore's recommended soundfonts (includes MIT, GPL, other licenses) | ||
- https://musescore.org/en/handbook/soundfonts-and-sfz-files#list | ||
- FlameStudios' guitar soundfonts (GPL-licensed) | ||
- http://www.flamestudios.org/free/Soundfonts |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
# Juicy Soundfont Plugin | ||
|
||
https://github.com/Birch-san/juicysfplugin | ||
|
||
Targets Windows 7 i686 | ||
Commonly this means a 32-bit Intel or AMD processor. | ||
|
||
## Installation | ||
|
||
If the folder "C:\Program Files (x86)\Common Files\VST3" does not yet exist: make the folder yourself. | ||
If the folder "C:\Program Files (x86)\Common Files\VST2" does not yet exist: make the folder yourself. | ||
|
||
VST2\libjuicysfplugin.dll -> "C:\Program Files (x86)\Common Files\VST2\libjuicysfplugin.dll" | ||
VST3\juicysfplugin.vst3 -> "C:\Program Files (x86)\Common Files\VST3\juicysfplugin.vst3" | ||
Standalone\juicysfplugin.exe -> "C:\Program Files (x86)\Birchlabs\juicysfplugin.exe" | ||
|
||
### Upgrading from a previous version of juicysfplugin | ||
|
||
Run the uninstaller that came with juicysfplugin, or delete the files that are described in these release notes: | ||
https://github.com/Birch-san/juicysfplugin/releases/tag/2.3.3 | ||
|
||
You may notice that opening SF3 soundfonts is slower than before. | ||
This is because juicysfplugin is now linked statically which means we can no longer use OpenMP to load SF3 soundfonts via multi-threading. | ||
(OpenMP does not support static linking on MinGW). | ||
The upside is that installation is now easier (single-file binary). | ||
|
||
## Warning | ||
|
||
The VST3 plugin is known to be incompatible with FL Studio (tested on v20.9, on Windows 11 ARM). | ||
The error message from FL Studio does not give any details explaining why the plugin is considered invalid. | ||
The VST3 plugin is nevertheless included, in case you fancy trying it with another DAW. | ||
|
||
## Usage | ||
|
||
Pick a soundfont from the file-picker (drag-and-drop works too). | ||
|
||
### Soundfonts | ||
|
||
Here's some soundfonts to get you started: | ||
|
||
- Fatboy (no specific license stated, but described as "free") | ||
- https://fatboy.site/ | ||
- MuseScore's recommended soundfonts (includes MIT, GPL, other licenses) | ||
- https://musescore.org/en/handbook/soundfonts-and-sfz-files#list | ||
- FlameStudios' guitar soundfonts (GPL-licensed) | ||
- http://www.flamestudios.org/free/Soundfonts |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
#!/usr/bin/env bash | ||
# ./bundle_win32.sh 3.0.0 | ||
|
||
set -eo pipefail | ||
DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||
|
||
OUT="$DIR/out" | ||
mkdir -p "$OUT" | ||
|
||
VERSION="$1" | ||
|
||
declare -a ARCHS=("x64" "x86") | ||
|
||
# macOS bundled GNU bash doesn't support associative arrays | ||
arch_long_ix() { | ||
case $1 in | ||
'x64') return 0;; | ||
'x86') return 1;; | ||
esac | ||
} | ||
arch_longs=("x86_64-win" | ||
"x86-win"); | ||
# declare -A ARCH_LONGS=( [x64]=x86_64-win [x86]=x86-win ) | ||
|
||
FLAVOUR=Release | ||
CONTAINER_NAME=win32_mount | ||
docker create --name "$CONTAINER_NAME" llvm-mingw | ||
trap "docker rm \"$CONTAINER_NAME\" > /dev/null" EXIT | ||
|
||
for ARCH in ${ARCHS[@]}; do | ||
echo "arch: $ARCH" | ||
|
||
set +e | ||
arch_long_ix "$ARCH" | ||
ARCH_LONG="${arch_longs[$?]}" | ||
set -e | ||
# ARCH_LONG="${ARCH_LONGS[$ARCH]}" | ||
echo "arch_long: $ARCH_LONG" | ||
|
||
FLAVOUR_DIRNAME="win_$ARCH" | ||
ARCH_OUT="$OUT/$FLAVOUR_DIRNAME" | ||
echo "arch_out: $ARCH_OUT" | ||
|
||
STANDALONE="$ARCH_OUT/Standalone" | ||
mkdir -p "$STANDALONE" | ||
|
||
VST2="$ARCH_OUT/VST2" | ||
mkdir -p "$VST2" | ||
|
||
VST3="$ARCH_OUT/VST3" | ||
mkdir -p "$VST3" | ||
|
||
docker cp "$CONTAINER_NAME":"/build/juicysfplugin/build_$ARCH/JuicySFPlugin_artefacts/$FLAVOUR/Standalone/juicysfplugin.exe" "$STANDALONE/juicysfplugin.exe" | ||
docker cp "$CONTAINER_NAME":"/build/juicysfplugin/build_$ARCH/JuicySFPlugin_artefacts/$FLAVOUR/VST/libjuicysfplugin.dll" "$VST2/libjuicysfplugin.dll" | ||
docker cp "$CONTAINER_NAME":"/build/juicysfplugin/build_$ARCH/JuicySFPlugin_artefacts/$FLAVOUR/VST3/juicysfplugin.vst3/Contents/$ARCH_LONG/juicysfplugin.vst3" "$VST3/juicysfplugin.vst3" | ||
|
||
cp -r "$DIR/../licenses_of_dependencies" "$ARCH_OUT" | ||
cp "$DIR/../LICENSE.txt" "$ARCH_OUT" | ||
|
||
cp "$DIR/README.$ARCH.txt" "$ARCH_OUT/README.txt" | ||
|
||
pushd "$OUT" > /dev/null | ||
zip -9 -r "juicysfplugin-$VERSION-$ARCH.zip" "$FLAVOUR_DIRNAME" | ||
popd > /dev/null | ||
done |
Oops, something went wrong.