SuperCollider plugins

Related tags

Game mkplugins
Overview

.github/workflows/cmake.yml

MKPlugins

A collection of plugins for the SuperCollider sound environment.

Included plugins

See the MKPlugins.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.

Arch Linux:

yay -S supercollider-mkplugins

RaspberryPi OS:

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/mkplugins
cd mkplugins
git submodule update --init --recursive

This will get you the mkplugins.

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 based) that installs the prerequisites for building (cmake), downloads all of the source code needed and compiles and installs it.

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).

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.

Issues
  • AUR package cannot be installed using some aur helpers

    AUR package cannot be installed using some aur helpers

    Hi, great plugins!

    I installed them a few weeks ago on my Manjaro system (kernel Linux 5.10.26-1) and worked great. But with the last major system upgrade, the package validity check now seems to fail. Here's the output to pamac update:

    ==> Making package: supercollider-mkplugins 0.2.0-1 (Wed Apr 14 12:55:12 2021)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
      -> Found MKPlugins-Linux.zip
    ==> Validating source files with md5sums...
        MKPlugins-Linux.zip ... FAILED
    ==> ERROR: One or more files did not pass the validity check!
    Error: Failed to build supercollider-mkplugins
    

    Just reckoned I should report it in case you weren't already aware of this.

    Cheers!

    opened by loopier 10
  • Server 'localhost' exited with exit code 0.

    Server 'localhost' exited with exit code 0.

    Hello

    Thanks for these wonderful plugins !

    scsynth_2021-03-24-103722_MacBook-Air-de-Geoffroy.crash.zip

    On my Macbook Air running 10.14.6 and SC 3.11.2, I am getting

    Server 'localhost' exited with exit code 0.
    

    when booting the server, say half of the time, when the MKPlugins (V0.1.7D) are installed.

    I am attaching the crash log if it can help.

    All the best

    Geoffroy

    opened by geoffroymontel 7
  • norm vadim resonance

    norm vadim resonance

    This is just a cozy cozy res val normalization PR. Close/Reject it at will :)~ First I just did a in0( Resonance * 4.0f ) in line 19 and 39 (VadimFilter.cpp). Though a mult of 4.0 on the .sc side gets the job done. Hacky. But normalized res values are nice.

    opened by salkin-mada 4
  • Consider using semver for version tags

    Consider using semver for version tags

    Right now the release tags mostly follow the pattern x.y.zA where A is an incrementing letter. First, I'd like to ask what the purpose for this extra letter is (why do this instead of increment the patch version?). Second, I'd like to ask you to consider using https://semver.org/ instead, since this is a widely-used and well-regarded versioning scheme.

    opened by mossheim 4
  • replaced VCAAmount  mapping with the more recent reactor implementation

    replaced VCAAmount mapping with the more recent reactor implementation

    Thanks for this implementation of the Parker et al LPG, it works quite nicely and the code is oh so readable!

    dunno if this is of interest to you but in case it is, here's a little update/change of the VCA amount:

    I changed the amount mapping to follow the reaktor 6 Blocks implementation of this LPG, also I found (by looking at the reaktor code) that a non-linear mapping of the VCAamount (I currently do this in the sclang SynthDef itself) results in quite reasonable linear behaviour when it is attached to a linearly mapped fader:

    vca = (1+vca).log2.sqrt
    

    Another thing I was considering adding (but haven't looked into it so far) is to account for non-exact values of resistors etc, by providing a random seed at UGen creation and vary resistor values randomly at instantiation time... this might be interesting when working with several LPGs in parallel/sequence.

    again, great work!

    opened by LFSaw 4
  • CMake error

    CMake error

    hi mads I got a Cmake error trying to install mkplugins today:

    [[email protected] build]$ cmake .. -DCMAKE_BUILD_TYPE='Release' -DSC_PATH=/home/igor/code/SuperCollider/ -DCMAKE_INSTALL_PREFIX=/home/igor/.local/share/SuperCollider/Extensions/ CMake Error: The source directory "/home/igor/code/mkplugins" does not appear to contain CMakeLists.txt. Specify --help for usage, or press the help button on the CMake GUI.

    opened by igormpc 4
  • [Feature request]: New name ?

    [Feature request]: New name ?

    I'd like to change the name of this repository and I am open to suggestions. Please post them here if you any ideas! (and also ideas on how to achieve a name change without breaking links? Is that possible?)

    The repo started out as a few personal experiments but has quickly grown to something bigger and I'd like for it to be reflected in the name of it that it is a community project and not a personal project.

    The general theme for these plugins is that they are ports (for the moment at least) of other people's work - maybe that's something that should be reflected in the name?

    opened by madskjeldgaard 3
  • Merge into sc3-plugins

    Merge into sc3-plugins

    Hi!

    Thanks for this repo, excelent materials!

    Are you thinking about merging it into the main sc3-plugins repo ? It would be great for beginners to have it there!

    opened by fmiramar 2
  • DCompressor printing 0.0000 to post window

    DCompressor printing 0.0000 to post window

    Hi Mads THANK YOU FOR THESE !

    here on mac Dcompressor is flooding the post window with 0.00000

    also help for DCompressor wont display (using scnvim -> pandoc) I get:

    ERROR: In /Users/michael/tank/super/Extensions/MKPlugins/HelpSource/Classes/DCompressor.schelp: At line 46: syntax error, unexpected end of file

    opened by cdbzb 2
  • mi-resonator.hpp: include cstdint for int32_t definition

    mi-resonator.hpp: include cstdint for int32_t definition

    This inclusion is needed for avoiding the compile error (with mingw64)

    C:/supercolliderrepos/portedplugins/plugins/mutated/mi-resonator.hpp: In function 'float mi::Interpolate(const float*, float, float)':
    C:/supercolliderrepos/portedplugins/plugins/mutated/mi-resonator.hpp:51:3: error: 'int32_t' was not declared in this scope
    
    opened by sonoro1234 1
  • validity check error

    validity check error

    hi mads i got a validity check error trying to update mkplugins --

    [[email protected] code]$ yay -S supercollider-mkplugins :: Checking for conflicts... :: Checking for inner conflicts... [Aur:1] supercollider-mkplugins-0.1.7D-1

    1 supercollider-mkplugins (Installed) (Build Files Exist) ==> Packages to cleanBuild? ==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4) ==> a :: Deleting (1/1): /home/igor/.cache/yay/supercollider-mkplugins :: Downloaded PKGBUILD (1/1): supercollider-mkplugins 1 supercollider-mkplugins (Installed) (Build Files Exist) ==> Diffs to show? ==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4) ==> :: (1/1) Parsing SRCINFO: supercollider-mkplugins ==> Making package: supercollider-mkplugins 0.1.7D-1 (Tue 23 Mar 2021 08:25:41 PM -03) ==> Retrieving sources... -> Downloading MKPlugins-Linux.zip... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 627 100 627 0 0 996 0 --:--:-- --:--:-- --:--:-- 996 100 230k 100 230k 0 0 238k 0 --:--:-- --:--:-- --:--:-- 8388k ==> Validating source files with md5sums... MKPlugins-Linux.zip ... FAILED ==> ERROR: One or more files did not pass the validity check! error downloading sources: supercollider-mkplugins

    opened by igormpc 1
  • SIMD status for these plugins?

    SIMD status for these plugins?

    I'm curious if these plugins are getting SIMD-optimized during compilation. I suspect not, as they are very CPU hungry (e.g. 2 instances of AnalogTape = 17-18% CPU). So, for instance, I might use the VA filters for a monophonic bass line but I would have to avoid too many of them at once.

    I'm afraid my C++ skills are not good enough to review the plugins for this. Spacechild1 had pointed out to me on the SC forum that 8-sample loops can clue the compiler in to places where SIMD instructions could be used. This resulted in a massive speedup for me.

    help wanted 
    opened by jamshark70 2
  • VAxx filters have fixed and quite high overdrive

    VAxx filters have fixed and quite high overdrive

    Describe the bug

    The VAxx filters have fixed and quite high overdrive applied to them, it seems: https://github.com/madskjeldgaard/portedplugins/blob/main/plugins/odinfilters/Korg35Filter.cpp#L96

    Expected behavior Unless explicitly applied, the overdrive should be subtle / non-existant

    opened by madskjeldgaard 0
  • Ranges of filter parameters

    Ranges of filter parameters

    I wouldn't mind to open a PR to document some of the expected parameter ranges, but I thought I'd ask first:

    • VAxxx filter resonance is 0.0 - 1.0?
    • VAxxx filter drive is 0.0 - 1.0?

    I haven't checked other help files yet -- I think I'm guessing right, but the helpfiles don't really confirm it. Once confirmed, I'd be happy to add the ranges to the help files.

    opened by jamshark70 1
  • VAxx filters' frequency parameter not scaled properly

    VAxx filters' frequency parameter not scaled properly

    Describe the bug

    Cutoff frequency of all the zdf filters is scaled too high

    To Reproduce

    { VALadder.ar(Saw.ar(200), 50)}.freqscope

    Screenshots Schermafbeelding 2021-12-20 om 22 46 13

    Desktop (please complete the following information):

    • OS: MacOS Big Sur 11.6.1
    • Architecture: M1 (rosetta)
    • SC Version: latest
    • PortedPlugins Version: latest
    help wanted 
    opened by devilfish707 9
  • BLOsc aliasing

    BLOsc aliasing

    Describe the bug Audible aliasing artifacts above ~3kHz freq in all three waveforms of BLOsc

    To Reproduce

    {
    BLOsc.ar(MouseX.kr(50, 5000, \exponential).poll, 0.5, 2) // also 0 and 1
    }.play
    

    Expected behavior Vanilla band-limited oscillators:

      Saw.ar(MouseX.kr(50, 5000, \exponential))
      Pulse.ar(MouseX.kr(50, 5000, \exponential))
    

    Desktop (please complete the following information):

    • OS: Mac os 10.11.6
    • Architecture: Intel
    • SC Version: 3.10.4
    • PortedPlugins Version: 0.3.1
    • 48k sample rate
    opened by esluyter 2
  • VA1Pole has DC == feedback coefficient at output in LPF mode

    VA1Pole has DC == feedback coefficient at output in LPF mode

    Describe the bug In mode 0 (lpf), VA1Pole has a DC offset equal to its feedback coefficient at its output.

    To Reproduce Evaluate each example and observe the posted values.

    { VA1Pole.ar(Silent.ar, 500, MouseY.kr(-0.99, 0.99), 0).poll * 0 }.play // lpf
    { VA1Pole.ar(Silent.ar, 500, MouseY.kr(-0.99, 0.99), 1).poll * 0 }.play // hpf
    

    Expected behavior If any DC offset is present at the output of VA1Pole, it will be quite small, as in the HPF example above.

    Desktop (please complete the following information):

    • OS: Arch Linux (5.14.9-arch2-1)
    • Architecture: x86
    • SC Version: 3.12.1
    • PortedPlugins Version: 0.3.0d-1 (from AUR)
    opened by catniptwinz 1
Releases(v0.3.1)
Owner
mads kjeldgaard
Composer and sound artist. I work freelance and at NOTAM in Oslo, Norway. Come say hi!
mads kjeldgaard
SuperCollider as a VST3 plugin

PluginCollider PluginCollider is an experimental fork of https://github.com/supercollider/SuperColliderAU and it is still not complete since it only b

Pascal Gauthier 22 Jun 11, 2022
DotX64Dbg aims to provide a seamless way to write and test plugins for X64Dbg using .Net 5.0 and C#.

DotX64Dbg (EARLY ALPHA) Plugins and Scripting with C# for x64Dbg. Create Plugins for X64Dbg with ease DotX64Dbg aims to provide a seamless way to writ

ζeh Matt 7 Jan 21, 2022
x64Dbg plugin that enables C# plugins with hot-loading support and scripting.

DotX64Dbg (EARLY ALPHA) Plugins and Scripting with C# for x64Dbg. Create Plugins for X64Dbg with ease DotX64Dbg aims to provide a seamless way to writ

x64dbg 82 Jun 7, 2022
cartoon plugins for unreal engine

卡通材质 使用方式 在材质编辑器中添加Toon Shading节点,ShadingModel即切换为SHADINGMODELID_STYLIZED_SHADOW 注意:添加节点后不再受编辑器中的ShadingModel变量控制 How to use Add Toon Shading node in

null 41 Jun 7, 2022
C++17 library for creating macOS Audio Server plugins.

libASPL Synopsis Instructions Versioning API reference Example driver Quick start Object model Types of setters Customization Thread and realtime safe

Victor Gaydov 25 May 8, 2022
Flutter plugins for embedded Linux (eLinux)

Flutter plugins for Embedded Linux (eLinux) This repo is a companion repo to the flutter-elinux. It contains the source code for Flutter plugins for e

Sony 23 Jun 13, 2022
Some GCC plugins useful for OI training/judging.

gcc-plugin-for-oi Some GCC plugins useful for OI training/judging. Currently, only one plugin no_opt_attr_plugin is included. Build Simply make all. O

Xidian University Programming Contest Training Base 3 Mar 14, 2022
digital audio workstation, instrument and effect plugins, wave editor

Stargate Stargate is a holistic audio production solution, everything you need to make music on a computer. To understand what Stargate is, and why, r

null 241 Jun 21, 2022
Flutter plugins used in Mixin

This repo contains the source code for Flutter plugins which used in Mixin. Check the packages directory for all plugins.

Mixin Network 176 Jun 24, 2022
Programming tutorial series for creating LV2 plugins using C/C++ and turtle.

Programming LV2 Plugins From Scratch Programming tutorial series for creating LV2 plugins using C/C++ and turtle. Content Programming LV2 Plugins From

null 29 Jun 21, 2022
Dockerfile/docker-compose Elasticsearch with plugins elasticsearch-analysis-vietnamese and coccoc-tokenizer

docker-es-cococ-tokenizer Dockerfile/docker-compose Elasticsearch with plugins elasticsearch-analysis-vietnamese and coccoc-tokenizer Deployment docke

Nguyễn Nhật Minh Tú 5 May 8, 2022
SDK for creating GTA IV .asi plugins

iv-sdk "SDK" for creating GTA IV .asi plugins Supports 1.0.7.0 and 1.0.8.0 (EFIGS only) The majority of the project has been created for 1.0.8.0 and t

null 23 Jun 12, 2022
Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface.

clap-imgui Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface. This is intended as an example of presenting a UI

schwa 28 Jun 19, 2022
Development repository for all my plugins.

Sirius Utility Nodes for Unreal Engine A collection of utility nodes to boost your blueprint productivity with Unreal Engine projects. Marketplace • S

Jasper de Laat 13 May 1, 2022