Coder Social home page Coder Social logo

madskjeldgaard / portedplugins Goto Github PK

View Code? Open in Web Editor NEW
177.0 8.0 12.0 452 KB

A collection of plugins for the SuperCollider sound environment, all of which are ported / remixed from elsewhere

License: GNU General Public License v3.0

CMake 6.99% C++ 85.87% SuperCollider 3.45% Shell 2.76% C 0.94%
supercollider supercollider-ugens dsp

portedplugins's Introduction

.github/workflows/cmake.yml

PortedPlugins

A collection of plugins for the SuperCollider sound environment, all of which are ported / remixed from elsewhere - including hardware synthesizers, research papers / demos, VST plugins, VCV rack and other programming environments.

Included plugins

See the PortedPlugins.schelp help file for an overview inside of SuperCollider and the respective help files for each plugin for more information about the particularities of each plugin.

Installation

Instructions for most systems:

  1. Download one of the prebuilt releases. Choose the one that fits your operating system.
  2. Unzip the contents in your extensions directory (If you don't know where this is, open up SuperCollider and evaluate Platform.userExtensionDir - the path will be posted in the post window).
  3. Recompile class library.

Building and installing from within SuperCollider

If you have Plugins.quark installed in your SuperCollider system, you can run the following line of code from SuperCollider. This will get the dependencies, build and install the plugins.

Plugins.installPlugin("portedplugins")

Arch Linux:

yay -S supercollider-portedplugins

RaspberryPi OS / ALARM:

See the accompanying script for downloading, building and installing the plugins.

Building

Requirements

  • CMake >= 3.5
  • SuperCollider source code

Preparations for a build

Clone the project:

git clone https://github.com/madskjeldgaard/portedplugins
cd portedplugins
git submodule update --init --recursive

This will get you the portedplugins.

Before continuing, you need two things:

First, the SuperCollider source code :

git clone https://github.com/supercollider/supercollider.git

Note where you placed this source code on your computer and copy the full path to it for use with CMake.

Secondly, you need the path to your SuperCollider extensions directory. This is where CMake will install the plugins.

You can get this by opening up SuperCollider and running this line of code

Platform.userExtensionDir

Note the path that it posts to your post window in SuperCollider, copy it and save it for the next part of the build process.

Actually Building

To build the plugins, run these commands. Note the two paths you need to put in to the CMake command, these are the ones you got from the preparatory steps above.

mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE='Release' -DSC_PATH=/path/to/sc/source -DCMAKE_INSTALL_PREFIX=/path/to/extensions
cmake --build . --config Release
cmake --build . --config Release --target install

Building for Raspberry Pi

This repository includes a script for the Raspberry Pi users (Raspberry Pi OS- / ALARM based) that installs the prerequisites for building (cmake), downloads all of the source code needed and compiles and installs it.

Building for Rosetta on the Mac M1

If you are compiling these plugins on a Mac M1, it will detect your architecture as arm and install an arm version of the plugins. Chances are you've installed the x86 version of SuperCollider and if so you will get architecture mismatches between the two.

To explicitly build for a Mac M1 running SuperCollider under the Rosetta compatibility layer, run these commands:

# Location of SuperCollider source code
SC_LOCATION="/path/to/sc/source"

# Force this architecture:
OSX_ARCH="x86_64"

# Install here:
INSTALL_LOCATION="$HOME/Library/Application Support/SuperCollider/Extensions"

cmake .. -DCMAKE_BUILD_TYPE=Release -DSC_PATH="$SC_LOCATION" -DCMAKE_INSTALL_PREFIX="$INSTALL_LOCATION" -DCMAKE_OSX_ARCHITECTURES="$OSX_ARCH"
cmake --build . --config Release
cmake --build . --config Release --target install 

Contributing

Contributions are welcome!

If you experience any problems, post it as an issue or if you have the skills to fix it yourself you may open up a PR with a suggested change.

If you see any problems in the documentation, feel free to do the same here (please submit a PR if you can - otherwise feel free to post an issue).

See CONTRIBUTING.md for more information on how to contribute.

Credits

Thank you to Notam for the support.

Most of these plugins build on code, research and ideas of others, including:

A massive thank you to them and everyone who contributed to the sub projects this relies on for sharing knowledge and ideas and making new sounds possible!

You can find more information about sources of information and code in the help files for the plugins.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.