diff --git a/Builds/MacOSX/how to install.txt b/Builds/MacOSX/how to install.txt
index 6bc2640..858c997 100644
--- a/Builds/MacOSX/how to install.txt
+++ b/Builds/MacOSX/how to install.txt
@@ -32,6 +32,8 @@ If you cannot open juicysfplugin.app, try _right-clicking_ it, and choose Open f
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)
diff --git a/Builds/VisualStudio2017/build-windows.md b/Builds/VisualStudio2017/build-windows.md
index 934f3c0..14fb29d 100644
--- a/Builds/VisualStudio2017/build-windows.md
+++ b/Builds/VisualStudio2017/build-windows.md
@@ -1,7 +1,7 @@
A lot of thrashing was involved.
So first I'll list the steps that I _know_ are necessary.
-Then after that I'll list the steps which were problem unnecessary.
+Then after that I'll list the steps which were probably unnecessary.
# Definitely necessary
@@ -21,7 +21,7 @@ C:\SDKs\VST_SDK\VST3_SDK
https://shop.juce.com/get-juce
-JUCE should be installed to `C:\\Juce`
+JUCE should be installed to `C:\Juce`
_Note: the only thing we actually need from here is `C:\Juce\modules`. I've copied that into the repository now, so soon I'll be able to make that step skippable._
@@ -111,6 +111,8 @@ $ ldd /mingw64/bin/libfluidsynth-1.dll
…
```
+Side-note: [fuslogvw](https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer) helps you debug .NET's run-time linker. Not relevant to juicysfplugin (because it's not managed code), but it's a useful tool for Windows developers to know about.
+
# Prefer CLion?
We don't have Windows support in our CMake project (I could add it by using Projucer to generate a CODE::Blocks exporter, but I don't want to maintain that).
diff --git a/README.md b/README.md
index 8fe76cd..81d3a48 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,16 @@
-Latest release: https://github.com/Birch-san/juicysfplugin/releases
+Latest stable release:
+
+- macOS [1.0.6](https://github.com/Birch-san/juicysfplugin/releases/tag/1.0.6)
+- Windows x64 [1.0.8](https://github.com/Birch-san/juicysfplugin/releases/tag/1.0.8)
+- Linux is [supported as of 1.0.8](https://github.com/Birch-san/juicysfplugin/commit/db7d6003de97d7af8eb634191ac3260f0e0b4804), but you will need to build from source
Demo track: [mp3](https://github.com/Birch-san/juicysfplugin/releases/download/1.0.5/Demo_track.mp3), [FLAC](https://github.com/Birch-san/juicysfplugin/releases/download/1.0.5/Demo_track.flac), [FLAC +Soundgoodizer](https://github.com/Birch-san/juicysfplugin/releases/download/1.0.5/Demo_track_soundgoodizer.flac)
# What
-juicysfplugin is a macOS audio plugin for playing MIDI music through a soundfont synthesizer.
+juicysfplugin is a cross-platform audio plugin for playing MIDI music through a soundfont synthesizer.
It's well-suited for making videogame music. If you have a soundfont of your favourite game, you can write your own melodies with its instruments.
@@ -17,7 +21,7 @@ Supports SF2 and SF3 soundfont formats.
**Mode 1: standalone application**
-juicysfplugin.app is a standalone application, for playing around.
+juicysfplugin.app (or .exe on Windows) is a standalone application, for playing around.
You can plugin your hardware MIDI keyboard, or play with the software MIDI keyboard. Or route MIDI messages into it from a virtual MIDI controller (e.g. the [macOS IAC Bus](http://re-compose.desk.com/customer/portal/articles/1382244-setting-up-the-iac-bus-on-a-mac)).
@@ -68,6 +72,7 @@ You must drag-and-drop a soundfont into the file picker.
Here's some soundfonts to get you started:
+- [Fatboy](https://fatboy.site/) (no specific license stated, but described as "free")
- MuseScore's [recommended soundfonts](https://musescore.org/en/handbook/soundfonts-and-sfz-files#list) (includes MIT, GPL, other licenses)
- FlameStudios' GPL-licensed [guitar soundfonts](http://www.flamestudios.org/free/Soundfonts)
@@ -101,7 +106,7 @@ Input audio device doesn't matter. We only use MIDI as input.
-# Building from source
+# Building from source (macOS)
Install XCode and XCode command line tools. Accept terms.
@@ -120,6 +125,8 @@ Build & run the "juicysfplugin - Standalone Plugin" target.
All the libs we link against are project-local (see `juicysfplugin/Builds/MacOSX/lib_relinked`).
I have used `install_name_tool` to give these libs relative install names. This ensures that any product you build will be portable.
+See my [blog post](https://birchlabs.co.uk/blog/alex/juicysfplugin/synth/cpp/2019/01/05/a-soundfont-vst-for-macos.html) for a deeper explanation as to how juicysfplugin is linked for portable distribution on macOS.
+
## Testing VST/AU plugins inside an audio plugin host
You'll notice that the schemes for [VST, VST3, AU, AUv3] targets are configured such that "Run" launches the executable `AudioPluginHost.app`. This lets you run the audio plugin as though it were hosted inside a DAW.
@@ -144,6 +151,8 @@ Known working with:
- VST3 Audio Plug-Ins SDK 3.6.9
- fluidsynth 1.1.11
+There is a [fluidsynth 2](https://github.com/Birch-san/juicysfplugin/tree/fluidsynth2) branch. It works, but there's no strong reason to justify switching to it – we have no burning need for any FS2 features (well, except perhaps the [modluators API](https://github.com/Birch-san/juicysfplugin/issues/2#issuecomment-397872150)), and it'd generate some extra work to get the Windows release to parity.
+
# Making releases
Follow the steps in [Building from source](#building-from-source) to output a product to the build folder.
@@ -165,20 +174,4 @@ Whichever flavor you built _most recently_, wins.
Overall, juicysfplugin is GPLv3.
-See [licenses for all libraries and frameworks](https://github.com/Birch-san/juicysfplugin/tree/master/licenses_of_dependencies).
-
-# Questions
-
-## Windows/Linux/Android/iOS version?
-
-No _big_ barriers. The source code and all its dependencies are cross-platform. The main friction is setting up a dev environment, and learning how to link dynamic libraries on that OS (i.e. we need to link to libfluidsynth).
-
-Some thoughts that come to mind:
-
-- Bundling libraries portably is far easier on Windows than on macOS
- - Just throw a dll next to the executable
- - .NET assembly binding can be debugged using [fuslogvw](https://docs.microsoft.com/en-us/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer)
-- Windows already has plenty of free, nice soundfont plugins
-- It's probably pretty hard to bundle fluidsynth into mobile apps
-- Bundling would be easier if I used static linking
-- Static linking is hard
\ No newline at end of file
+See [licenses for all libraries and frameworks](https://github.com/Birch-san/juicysfplugin/tree/master/licenses_of_dependencies).
\ No newline at end of file