Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
kurasu committed Feb 10, 2019
2 parents 558e4cc + f2e59c9 commit 6b3df31
Show file tree
Hide file tree
Showing 260 changed files with 1,947 additions and 899 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Surge.xcworkspace/
surge-au.xcodeproj/
surge-vst2.xcodeproj/
surge-vst3.xcodeproj/
surge-headless.xcodeproj/
products/
installer_mac/installer
installer_mac/*.dmg
Expand All @@ -64,3 +65,4 @@ Makefile
surge-*.make
premake-stamp
/Debug
src/linux/ScalablePiggy*
5 changes: 4 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
[submodule "vst3sdk"]
path = vst3sdk
url = https://github.com/steinbergmedia/vst3sdk.git
ignore = dirty
[submodule "vstgui.surge"]
path = vstgui.surge
url = https://github.com/surge-synthesizer/vstgui.git
branch = surge
74 changes: 46 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ The codebase was migrated from before an unfinished 1.6 release, which improves
* Support for [MPE](https://www.midi.org/articles-old/midi-polyphonic-expression-mpe)
* New analog mode for the ADSR envelopes

Surge currently builds with Windows and macOS (AudioUnit,VST2,VST3), and getting it to build on Linux again should be doable with some effort.

Daily macOS (64-bit, AU/VST2/VST3) builds available on the [Slack](https://join.slack.com/t/surgeteamworkspace/shared_invite/enQtNTE3NDIyMDc2ODgzLTU1MzZmMWZlYjkwMjk4NDY4ZjI3NDliMTFhMTZiM2ZmNjgxNjYzNGI0NGMxNTk2ZWJjNzgyMDcxODc2ZjZmY2Q)
Surge currently builds with Windows and macOS (AudioUnit, VST2, VST3), and getting it to function with Linux is under way but still requires some further effort.

There is currently work going on to create an official release-page with installers for Windows 64-bit, macOS 64-bit and other formats.

Expand Down Expand Up @@ -87,13 +85,11 @@ Now, to build the installer, open the file `installer_win/surge.iss` by using `I

`Inno Setup` will bake an installer and place it in `installer_win/Output/`

As of Jan 2019, Microsoft is making free Windows 10 VM's available which contain their development tooling
and are capable of building Surge
at [this Microsoft page](https://developer.microsoft.com/en-us/windows/downloads/virtual-machines).
As of Jan 2019, Microsoft is making free Windows 10 VM's available which contain their development tooling and are capable of building Surge at [this Microsoft page](https://developer.microsoft.com/en-us/windows/downloads/virtual-machines).

To setup, after starting the VM for the first time:
Run Visual Studio installer, update, and then
make sure the `desktop C++ kit`, including `optional CLI support`, `Windows 8.1 SDK`, and `VC2015 toolset for desktop` is installed.
Run Visual Studio installer, update, and then make sure the `desktop C++ kit`, including `optional CLI support`, `Windows 8.1 SDK`, and `VC2015 toolset for desktop` is installed.

Then proceed as above.

# macOS
Expand All @@ -106,8 +102,7 @@ This process expects that you have both `Xcode` and `Xcode Command Line Utilitie
xcode-select --install
```

Install `premake5` by downloading it from https://premake.github.io. Unzip the package. Install it
in /usr/local/bin or elsewhere in your path.
Install `premake5` by downloading it from https://premake.github.io. Unzip the package. Install it into /usr/local/bin or elsewhere in your path.

```
cp premake5 /usr/local/bin
Expand All @@ -123,8 +118,8 @@ git submodule update --init --recursive

## Building with build-osx.sh

`build-osx.sh` has all the commands you need to build, test, locally install, validate, and package Surge on mac.
It's what the primary mac developers use day to day. The simplest approach is to build everything
`build-osx.sh` has all the commands you need to build, test, locally install, validate, and package Surge on Mac.
It's what the primary Mac developers use day to day. The simplest approach is to build everything with

```
./build-osx.sh
Expand Down Expand Up @@ -154,31 +149,27 @@ and you do not want to upgrade XCode to a more recent version, use [homebrew](ht

## Using Xcode

`premake xcode4` builds xcode assets so if you would rather just use xcode, you can open the solutions created after running premake yourself
or having `./build-osx.sh` run it.
`premake xcode4` builds xcode assets so if you would rather just use xcode, you can open the solutions created after running premake yourself or having `./build-osx.sh` run it.

After the build runs, be it successful or not, you can now launch Xcode and open the `Surge` folder. Let Xcode do it's own indexing / processing, which will take a while.

All of the three projects (`surge-vst3`, `surge-vst2`, `surge-au`) will recommend you to `Validate Project Settings`, meaning, more precisely, to `Update to recommended settings`. By clicking on `Update to recommended settings`, a dialog will open and you'll be prompted to `Perform Changes`. Perform the changes.

Xcode will result in built assets in `products/` but will not install them and will not install the ancilliary assets. To do that you can either `./build-osx.sh --install-local` or
`./build-osx.sh --package` and run the resulting pkg file to install in `/Library`.
Xcode will result in built assets in `products/` but will not install them and will not install the ancilliary assets. To do that you can either `./build-osx.sh --install-local` or `./build-osx.sh --package` and run the resulting pkg file to install in `/Library`.

## Using the built assets

Once you have underaken the install options above, the AU and VSTs should just work. Launch your favorite host, get it to load the plugin, and have fun!

To use the AU in Logic, Mainstage, GarageBand, and so on, you need to do one more one-time step which is to invalidate your AU cache so that you force
Logic to rescan. The easiest way to do this is to move the AudioUnitCache away from it's location by typing in:
To use the AU in Logic, Mainstage, GarageBand, and so on, you need to do one more one-time step which is to invalidate your AU cache so that you force Logic to rescan. The easiest way to do this is to move the AudioUnitCache away from it's location by typing in:

```
mv ~/Library/Caches/AudioUnitCache ~/Desktop
```

then restart Logic and rescan. If the rescan succeeds you can remove the cache from `~/Desktop`.

Finally, the mac devs can't recomment [hosting au](http://ju-x.com/hostingau.html) highly enough for development. Open it once, open surge, and save that
configuration to your desktop. You will quickly find that
Finally, the mac devs can't recomment [hosting au](http://ju-x.com/hostingau.html) highly enough for development. Open it once, open surge, and save that configuration to your desktop. You will quickly find that

```
./build-osx.sh --build-validate-au && /Applications/Hosting\ AU.app/Contents/MacOS/Hosting\ AU ~/Desktop/Surge.hosting
Expand All @@ -203,26 +194,53 @@ is an available option.

## Building a Surge.vst (VST2) & Surge.vst3 (VST3) with Linux

Install `Premake5`
Download `premake5` from https://premake.github.io/download.html#v5

Untar the package, and move it to `~/bin/` or elsewhere in your path so the install script can find it.

For VST2, you will need the `VST2 SDK` - unzip it to a folder of your choice and set `VST2SDK_DIR` to point to it.

```
export VST2SDK_DIR="/your/path/to/VST2SDK"
```

You will need to install a set of dependencies.

- build-essential
- libcairo-dev
- libxkbcommon-x11-dev
- libxkbcommon-dev
- libxcb-cursor-dev
- libxcb-keysyms1-dev
- libxcb-util-dev

Run `apt-get install libgtkmm-3.0-dev`
Then `git clone` surge and update the submodules:

```
git clone https://github.com/surge-synthesizer/surge.git`
git clone https://github.com/surge-synthesizer/surge.git
cd surge
git submodule update --init --recursive
```

Run `premake gmake2`
You can now build with the command

Run `./build-linux.sh --clean`
```
./build-linux.sh build
```

Run `./build-linux.sh --build`
which will run premake and build the asset.

Some further discussion is at https://github.com/surge-synthesizer/surge/issues/19
To use the VST, you need to install it locally along with supporting files. You can do this manually
if you desire, but the build script will also do it.

```
./build-linux.sh install-local
```

For other options, you can do `./build-linux.sh --help`.

## References

* Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=1&t=511922)
* Most Surge-related conversation on the Surge Synth Slack. [You can join via this link](https://join.slack.com/t/surgeteamworkspace/shared_invite/enQtNTE3NDIyMDc2ODgzLTU1MzZmMWZlYjkwMjk4NDY4ZjI3NDliMTFhMTZiM2ZmNjgxNjYzNGI0NGMxNTk2ZWJjNzgyMDcxODc2ZjZmY2Q)
* IRC channel at #surgesynth at irc.freenode.net. The logs are available at https://freenode.logbot.info/surgesynth/.
* Discussion at KVR-Forum [here](https://www.kvraudio.com/forum/viewtopic.php?f=1&t=511922)
Binary file modified assets/original-vector/exported/bmp00102.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/bmp00105.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/bmp00108.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/bmp00112.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/bmp00113.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/[email protected]
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/original-vector/exported/bmp00114.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00118.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00119.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00124.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00125.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00126.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00132.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00134.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00137.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00144.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00146.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00151.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00152.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00154.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00160.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00161.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/bmp00164.png
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/exported/[email protected]
Binary file modified assets/original-vector/master/Surge_OG.sketch
Binary file not shown.
13 changes: 11 additions & 2 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,17 @@ jobs:
inputs:
solution: 'buildtask.xml'
maximumCpuCount: true
platform: 'x64'
condition: variables.isWindows
displayName: Build Windows
displayName: Build Windows x64

- task: MSBuild@1
inputs:
solution: 'buildtask.xml'
maximumCpuCount: true
platform: 'Win32'
condition: variables.isWindows
displayName: Build Windows x86

- bash: |
set -x
Expand All @@ -95,7 +104,7 @@ jobs:
sudo apt-get install -y libxkbcommon-dev
sudo apt-get install -y libxkbcommon-x11-dev
./build-linux.sh --build
./build-linux.sh clean && ./build-linux.sh build
find . -name '*'
condition: variables.isLinux
Expand Down
Loading

0 comments on commit 6b3df31

Please sign in to comment.