Open-source project
surge-synthesizer/shortcircuit-xt avatar
surge-synthesizer/shortcircuit-xt

Shortcircuit XT: the Shortcircuit sampler rebuilt in modern C++

Download the beta here : https://github.com/surge-synthesizer/shortcircuit-xt/releases/tag/Nightly

571 stars47 forksCMIT

At a glance

What is it?
Shortcircuit XT is a from-scratch rewrite of the creative sampler that vembertech shipped in the mid 2000s, built with JUCE and modern C++, with a Nightly build you can download and a source tree whose licence deliberately splits MIT source from AGPL binaries. It is still in progress, and the README is candid about how much of it does not work yet.
Who is it for?
Shortcircuit XT fits a producer or developer who used Shortcircuit 1 and 2 and wants to see where that instrument is going, and it fits a C++ developer who wants to read a sampler engine being written in public. It is the wrong choice if you need a finished instrument today, because the README says plainly that many things are incomplete or will not work, and the wrong choice if you want to embed the sampler in a commercial product without inheriting the AGPL obligations.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly C, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A rebuild rather than a port

Shortcircuit was a popular creative sampler in the mid 2000s from vembertech, the company that originally created Surge. In 2021, Claes Johansen, the principle at vembertech and now at Bitwig, open sourced a version of Shortcircuit2 and gave the source to the Surge Synth Team.

The interesting part is what happened next. After several false starts getting this code running, the team made a decision in early 2023 to preserve much of the design and DSP code from SC2, but to rebuild a sampler in the spirit of the first two versions of Shortcircuit using modern C++ and JUCE.

So the DSP knowledge from Shortcircuit 2 was carried across, while the code around it was not. The README's own framing of the project is that this is Shortcircuit XT, and it is underway.

That decision has consequences for anyone evaluating it. A straight port of a 2000s codebase would preserve its architecture and its limitations. A rewrite keeps the sound design and the musical intent, and gives you a codebase in a language and framework the maintainers can work in now. The cost is that the code in the repository is not the code that made Shortcircuit 2, and a direct comparison of internals will not be meaningful.

The language is C++, the default branch is main, and the last push was on 2026-10-20.

How the project ended up in this repository

The How we got here section is a short history that explains the whole arrangement.

Vember Audio, founded by @kurasu, Claes Johanson, released Surge and Shortcircuit in the 2000s. In 2018, Claes, realizing he would not complete Surge 1.6, open sourced it, and a community arose around it, leading to the Surge that exists today.

In late 2020, @baconpaul, one of the maintainers of Surge, sent a thank you note to Claes for open sourcing Surge, and they got to chatting about Shortcircuit. That led to Claes sending Paul the source code, and that led to this repository and plan.

Two details in that story explain the licence section that comes later. The source came from one company's codebase as a gift rather than as a release, so the copyright position was never as simple as it would be for a project written from scratch. And the community that formed around Surge is the community doing the work, which is why the README treats testers and design partners as first class participants.

The README also notes a couple of false starts before the current path and architecture, and says the team is confident in them now.

Building it needs CMake, submodules and a JUCE toolchain

The build instructions are given as a plain sequence, and they are short because the heavy lifting is in the dependencies.

bash
git clone <this repo or your fork>
cd shortcircuit-xt
git submodule update --init --recursive
cmake -Bignore/build -DCMAKE_BUILD_TYPE=Release
cmake --build ignore/build --config Release --target shortcircuit-products

The submodule step is not optional, since the repository carries a .gitmodules file and the dependency chain is part of the tree. The build directory is deliberately named ignore/build, which keeps it out of the way of ordinary ignore rules without needing an extra entry. The target is shortcircuit-products, which is the product build rather than a single component.

On toolchains the README is specific. The production build uses clang on macOS and gcc on Linux, and the team will test with a wide variety of compilers, including msvc on Windows and several gcc versions. If you are using a new compiler and have changes to the CMake or so on, please do send them over, which is an invitation to contribute backports rather than a warning.

For the operating system setup the README points at the same instructions used for Surge XT on Mac and Windows. For Linux it points at the dependency list in the Dockerfile the project uses for its CI builds, which is the practical way to get the required libraries onto a fresh machine.

The Nightly build is how you try it, and the README says what to expect

The repository description points at the beta download, and the README offers the same link twice, once as the beta of Shortcircuit XT and once as the alpha version of the instrument. Both point at the Nightly release tag rather than at a versioned release, which is the convention for a continuously rebuilt artefact.

The section titled What Works, and How Can I Help? is the most useful part of the README for anyone deciding whether to bother. It says that as the team proceeded through summer 2023 more and more stuff started to work, but that there was a lot to do to get to a working beta, and that they had a rather complete wireframe of the final product and had made quite a few core decisions about selection, mechanics, playback and more, some of which are reflected in the code.

Then the sentence that should govern your expectations. If you are going to use the product now, though, many things will be incomplete or mysteriously not work.

That phrasing is worth taking literally. The instrument's structure is settled, and individual behaviours are not. A nightly build that occasionally misbehaves is the expected state of the project, not a broken release.

The README's answer to the question of how to help is a Discord. It points at the Surge Synth Team Discord and the #sc-development channel, and it welcomes developers, testers, design partners, and generally people who want to shoot the you know what about a sample-initiated instrument. It also explicitly invites people who loved and used Shortcircuit 1 and 2 to come and see what the team thinks is different and the same, and to help determine whether they are right.

The licence is two tiers, and it changed in January 2026

The licensing section is the most careful piece of documentation in the repository, and anyone who wants to use the code should read it closely rather than relying on the licence badge.

The starting position was unusual. At the initial open-sourcing of Shortcircuit 2, later renamed to Shortcircuit XT, the copyright to the Shortcircuit source was held by Claes on the initial code and by Paul on his diffs since Claes shared the code. Because the repository and program have GPL3 and AGPL3 dependencies, the binaries are distributed under AGPL3, and the README says that is due to the transitive nature of those licences and the expanded restrictions of AGPL3.

Alongside that, contributors had agreed to a CLA, a contributor licence agreement kept at doc/ShortcircuitXT-Individual-CLA.pdf, based on the Canonical or Harmony 1.0 agreement. It kept copyright on each diff with the author of the change, but gave the maintainers the option to distribute contributions under MIT or GPL3.

Then, as the team approached the beta, it exercised that option. As of January 18th, 2026, the rules are:

code
1. The source in the `shortcircuit-xt` repo, outside of the `libs/` folder, is licensed under the MIT license, provided
   here in the file "LICENSE". The copyright to any particular line is still held by the author of that line as
   described on GitHub.
2. Each dependency in `libs/` folder has a license in the particular library repository. All these licenses are
   compatible with MIT source code and resulting AGPL3 distribution.
3. The resulting combined product - Shortcircuit XT binaries and other associated CLI tools - are distributed under the
   AGPL v3 license or later, found at `resources/LICENSE.agpl3`
3. Users no longer have to agree to the CLA in order to contribute to the project. Their contributions are owned by them
   and governed under the MIT license.
4. In the event you choose to use Shortcircuit XT code in your project, you must either modify the code to break each of
   the GPL3 and AGPL3 dependencies, license the (A)GPL3 dependency in a non-(A)GPL3 context, or distribute your final
   product
   under the AGPL3 license.

Read the last item as the constraint it is. Taking the source outside libs/ is fine under MIT, but a product that links the GPL3 and AGPL3 dependencies inherits the AGPL obligations, and the price of avoiding that is to break the dependency links, relicense the dependencies, or distribute under AGPL3 yourself.

Contributions are welcome under MIT, and the repository is set up for that

The project invites contributions in the same terms as Surge XT. Just like with Surge XT, we welcome any and all contributions from anyone who wants to work on open source music software.

The January 2026 change is what makes that invitation usable. Under the CLA arrangement, contributing meant signing an agreement; under the current rules, users no longer have to agree to the CLA in order to contribute, and their contributions are owned by them and governed under the MIT license. A contributor keeps the copyright on their own lines, and the maintainers distribute the whole under AGPL3 for the binaries and MIT for the source tree.

The repository layout supports that arrangement. There is a src directory for the project code, a libs directory holding the dependencies whose licences live in their own repositories, a resources directory that carries the AGPL3 licence text for the distribution, a cmake directory, a doc directory holding the CLA document, a scripts directory, and a tests directory. AUTHORS sits at the root, and there is a .clang-format file for the code style and a .gitmodules file for the dependency wiring.

The repository listing records the licence as MIT, which is accurate for the source outside libs/ but not for the binaries. The README is explicit that the combined product is AGPL3 or later, and it says where to find that text.

Editorial conclusion

Shortcircuit XT fits a producer or developer who used Shortcircuit 1 and 2 and wants to see where that instrument is going, and it fits a C++ developer who wants to read a sampler engine being written in public. It is the wrong choice if you need a finished instrument today, because the README says plainly that many things are incomplete or will not work, and the wrong choice if you want to embed the sampler in a commercial product without inheriting the AGPL obligations. Verify first which build you are downloading from the Nightly tag, that the AGPL terms in the README are acceptable for how you plan to use the code, and that your machine can build the JUCE dependency chain.

Frequently asked questions

What is Shortcircuit XT?

It is a rebuild of the Shortcircuit sampler, a popular creative sampler from vembertech in the mid 2000s. After several false starts with the open sourced Shortcircuit 2 code, the team decided in early 2023 to keep much of the SC2 design and DSP but rebuild the instrument in the spirit of the first two versions, using modern C++ and JUCE.

How do I build Shortcircuit XT from source?

Clone the repository, run git submodule update --init --recursive, then configure with cmake -Bignore/build -DCMAKE_BUILD_TYPE=Release and build the shortcircuit-products target. The production build uses clang on macOS and gcc on Linux, and the Linux dependency list is in the Dockerfile used for the CI builds.

Is Shortcircuit XT finished?

Not according to the README, which says that if you use the product now many things will be incomplete or will not work, while noting that the team has a fairly complete wireframe of the final product and has made core decisions about selection, mechanics and playback. The downloadable build is published as a Nightly release.

What licence applies to Shortcircuit XT?

The source outside the libs/ folder is MIT licensed with copyright retained per line by its author, each dependency in libs/ carries its own licence, and the resulting binaries and CLI tools are distributed under AGPL v3 or later. Since January 18th, 2026 contributors no longer need to sign the CLA and their contributions are owned by them and governed under MIT.

Can I use Shortcircuit XT code in a commercial project?

Only within the constraints the README sets out: you must either modify the code to break each of the GPL3 and AGPL3 dependencies, license the dependency in a non-(A)GPL3 context, or distribute your final product under the AGPL3 license.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. Releases
  5. surge-synthesizer/shortcircuit-xt on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/surge-synthesizer-shortcircuit-xt.svg)](https://hysenlabs.com/projects/surge-synthesizer-shortcircuit-xt)

Was this useful?