Giter VIP home page Giter VIP logo

supercollider.github.io's Introduction

SuperCollider is a platform for audio synthesis and algorithmic composition, used by musicians, artists, and researchers working with sound. It consists of:

  • scsynth, a real-time audio server with hundreds of unit generators ("UGens") for audio analysis, synthesis, and processing
  • supernova, an alternative server to scsynth with support for parallel DSP on multi-core processors
  • sclang, an interpreted programming language that controls the servers
  • scide, an editing environment for sclang with an integrated help system

sclang comes with its own package manager, called Quarks. scsynth and supernova both support third-party plugins via C and C++ APIs.

SuperCollider is written in C++17 using several third-party libraries, including Qt and Boost. It can be used on Windows, macOS, a variety of Linux and BSD distributions, Raspberry Pi, and BeagleBone Black.

Install

macOS and Windows builds for stable releases are provided at our downloads page. See the macOS README and Windows README for instructions on usage, and how to build SC yourself.

To get the latest stable version, Linux users will need to build SuperCollider themselves. See the Linux README for instructions.

See the Raspberry Pi and BeagleBone Black READMEs for instructions on building on those platforms.

Platform support

SuperCollider is tested with:

  • Windows 10 (32- and 64-bit) and MSVC 2019
  • macOS 12 and Xcode 13.4.1
  • Ubuntu 22.04 and gcc 12

SuperCollider is known to support these platforms:

  • Windows Vista, 7, 8, 10, 11
  • macOS 10.14-12.x
  • Ubuntu 18.04-22.04

We also provide a legacy macOS binary for macOS 10.11 and above using Qt 5.9.

SuperCollider has guaranteed support for:

  • Windows 10, 11
  • MSVC 2017, 2019
  • macOS 11, 12
  • Xcode 11-13
  • Debian >= 11
  • Ubuntu 20.04, 22.04
  • Fedora 36, 37
  • Arch Linux
  • gcc >= 9
  • clang >= 11
  • Qt >= 5.11

For more information on platform support guarantees, see the project Wiki.

Learn

The official docs can be viewed in the SuperCollider IDE's built-in documentation browser. You can also view them online at doc.sccode.org.

We recommend the following resources for learning SC:

Discuss

You can join our forum at scsynth.org or our Slack channel.

You can also view the archives for the old mailing lists at sc-users and sc-dev.

Please read our adopted code of conduct, which applies to all the above communities.

Contribute

Development of SuperCollider happens here on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving SuperCollider.

Please read our adopted code of conduct before contributing, so that you can understand what actions will and will not be tolerated.

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes.

Good First Issues

To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started. You can also ask on our developer's mailing list, on Slack, or on the forum.

Requests for Comment

SuperCollider uses a Requests for Comment (RFC) system to propose, design, and discuss 'big' changes. Submitting a new RFC or discussing an existing one is a great way to get involved, especially if you are looking for a way to contribute that doesn't involve writing code or using a terminal. You can learn more at the RFC repository.

License

SuperCollider is free software available under Version 3 the GNU General Public License. See COPYING for details.

supercollider.github.io's People

Contributors

afischli avatar aspiers avatar bagong avatar borrob avatar brunoruviaro avatar capital-g avatar carltesta avatar crucialfelix avatar danstowell avatar dkmayer avatar dvzrv avatar dyfer avatar freuben avatar grirgz avatar gusano avatar htor avatar jleben avatar joshpar avatar lfsaw avatar lisongx avatar miguel-negrao avatar mossheim avatar muellmusik avatar novadeviator avatar patrickdupuis avatar redfrik avatar scztt avatar sicklincoln avatar sonoro1234 avatar telephon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supercollider.github.io's Issues

Jekyll Bootstrap framework has a known incompatibility with Jekyll v3.1.

I just got this message when editing the pages:

The page build completed successfully, but returned the following warning:

You are currently using the Jekyll Bootstrap framework which has a known incompatibility with Jekyll v3.1. To fix this incompatibility, change `page.theme.name` in `_includes/JB/setup` to `layout.theme.name`. Your site may not build properly until this change has been applied. For more information, see http://jekyllrb.com/docs/upgrading/2-to-3/#layout-metadata.

For information on troubleshooting Jekyll see:

 https://help.github.com/articles/troubleshooting-jekyll-builds

If you have any questions you can contact us by replying to this email.

is it save to just do this? @crucialfelix ?

Raspberrypi instructions do not work

http://supercollider.github.io/development/building-raspberrypi.html

Trying on a Raspberry PI 3 Model B.

Step 6.2:

sclang #should start sc and compile the class library with only 3 harmless class overwrites warnings

init_OSC
empty
compiling class library...
initPassOne started
    NumPrimitives = 590
initPassOne done
    compiling dir: '/usr/local/share/SuperCollider/SCClassLibrary'
    pass 1 done
ERROR: Class extension for nonexistent class 'Document'
     In file:'/deprecated/3.7/deprecated-3.7.sc'
    numentries = 658972 / 6661008 = 0.099
    3672 method selectors, 1814 classes
    method table size 4425868 bytes, big table size 26644032
    Number of Symbols 8839
    Byte Code Size 251349
    compiled 219 files in 0.88 seconds

Info: 3 methods are currently overwritten by extensions. To see which, execute:
MethodOverride.printAll

compile done
Execution warning: Class 'NotificationCenter' not found
ERROR: Message 'isMetaClass' not understood.
RECEIVER:
   nil
ARGS:
CALL STACK:
    DoesNotUnderstandError:reportError   0x13b5dd0
        arg this = <instance of DoesNotUnderstandError>
    Nil:handleError   0x13b5e30
        arg this = nil
        arg error = <instance of DoesNotUnderstandError>
    Thread:handleError   0x13b5e90
        arg this = <instance of Thread>
        arg error = <instance of DoesNotUnderstandError>
    Object:throw   0x13b60d0
        arg this = <instance of DoesNotUnderstandError>
    Object:doesNotUnderstand   0x13b63d0
        arg this = nil
        arg selector = 'isMetaClass'
        arg args = [*0]
    Meta_Class:initClassTree   0x13b64f0
        arg this = <instance of Meta_Class>
        arg aClass = nil
        var implementsInitClass = nil
    Meta_Server:initClass   0x13b2d90
        arg this = <instance of Meta_Server>
    Meta_Class:initClassTree   0x13b5ef0
        arg this = <instance of Meta_Class>
        arg aClass = <instance of Meta_Server>
        var implementsInitClass = nil
    Meta_Event:initClass   0x13b6370
        arg this = <instance of Meta_Event>
    Meta_Class:initClassTree   0x13b3170
        arg this = <instance of Meta_Class>
        arg aClass = <instance of Meta_Event>
        var implementsInitClass = nil
    Meta_EventTypesWithCleanup:initClass   0x13b4710
        arg this = <instance of Meta_EventTypesWithCleanup>
    Meta_Class:initClassTree   0x13b5f50
        arg this = <instance of Meta_Class>
        arg aClass = <instance of Meta_EventTypesWithCleanup>
        var implementsInitClass = nil
    ArrayedCollection:do   0x13b3230
        arg this = [*149]
        arg function = <instance of Function>
        var i = 27
    Meta_Class:initClassTree   0x13b2a30
        arg this = <instance of Meta_Class>
        arg aClass = <instance of Meta_Object>
        var implementsInitClass = nil
    Process:startup   0x13b20f0
        arg this = <instance of Main>
        var time = 0.899260664
    Main:startup   0x13b1310
        arg this = <instance of Main>
        var didWarnOverwrite = false
^^ The preceding error dump is for ERROR: Message 'isMetaClass' not understood.
RECEIVER: nil


sc3> s.boot
ERROR: Message 'boot' not understood.
RECEIVER:
   nil
ARGS:
CALL STACK:
    DoesNotUnderstandError:reportError   0x13b5230
        arg this = <instance of DoesNotUnderstandError>
    Nil:handleError   0x13b5290
        arg this = nil
        arg error = <instance of DoesNotUnderstandError>
    Thread:handleError   0x13b5350
        arg this = <instance of Thread>
        arg error = <instance of DoesNotUnderstandError>
    Object:throw   0x13b53b0
        arg this = <instance of DoesNotUnderstandError>
    Object:doesNotUnderstand   0x13b5530
        arg this = nil
        arg selector = 'boot'
        arg args = [*0]
    Interpreter:interpretPrintCmdLine   0x13b2df0
        arg this = <instance of Interpreter>
        var res = nil
        var func = <instance of Function>
        var code = "s.boot"
        var doc = nil
        var ideClass = nil
    Process:interpretPrintCmdLine   0x13b5770
        arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Message 'boot' not understood.
RECEIVER: nil


sc3>

Related: supercollider/supercollider#1209

supercollider.github.io forensyc analysis results - hidden sections, how to access?

i noticed throughout a forensic analysis, that just came up for the sake of learning some stuff related to websecurity, that the supercollider website, has some hidden sections, include, not only, but as well:

/news (Status: 200)]]
/images (Status: 301)
/index (Status: 200)
/links (Status: 200)
/downloads (Status: 200)
/projects (Status: 200)
/feed (Status: 200)
/releases (Status: 301)
/assets (Status: 301)
/book (Status: 301)
/courses (Status: 301)
/survey (Status: 301)
/development (Status: 301)
/uncategorized (Status: 301)
/examples (Status: 200)
/workshops (Status: 301)
/404 (Status: 200)
/symposium (Status: 301)
/2012 (Status: 301)
/meetups (Status: 301)

how can i access all those, and more important how can i copy the information which is there for my hard drive, and having it all neat and organized locally

Redesign the website

Now that GH pages moved to https, fonts are not loaded by our old theme.
I'm willing to redesign the whole site by using a modern, minimal and sleek theme (ร  la https://supercollider.github.io/sc3-plugins).. This would be my summer-holidays-present : )


2021 update

I'm gonna propose a fresh new website, with a simple and modern design (mobile friendly).
Seeing that over the last 4 years there were no real consensus reached as to what content should or should not go I'm gonna propose something very minimal and if the community likes it someone can take over from there : )


  • use modern jekyll folder structure
  • use mobile-first simple theme
  • remove cruft and keep concise minimal content
  • .md files over .html when possible
  • add a carousel/gallery with community projects
  • dedicated download page (we have too many possible downloads)
  • audio snippets for code examples

Improved projects page

I think there should be a better-organized and more comprehensive page for projects done in SC. From my experience with other languages, one of the first questions I ask when coming to new software is "what can I do with this, and what have others done with it?". What the community is doing (and therefore what kind of projects they might be helpful with or have experience with) seems to me to be a crucial feature of any software project. A well-documented projects page can also serve as a repository of ideas and inspiration for future projects. I think these sentiments might be shared by a significant number of newcomers to SC.

Some features I think would be important:
Embedded sound and video (youtube / soundcloud links)
a short blurb for each project summarizing what it is and how it uses SC
maybe categories for projects? Composition, sound installation, instrument, etc?
snippets of code accessible straight from the browser, for projects where that makes sense

Examples of projects pages that I think do a good job(we don't necessarily have to copy these, but it's worth discussing whether we think they're good and how)

https://cycling74.com/community/?q=project
https://processing.org/exhibition/

I particularly like the Processing projects page - it's concise, curated and has a lot of description up front.

Let me know what you think!

pages build failure

I just approved a pull request, that just adds an image file. I got a pages "build failure" email from github.

Dan Stowell added something yesterday and from the looks of the front page it did not successfully build after that. I don't see any reason why though, it looks quite simple.

but it seems to have broken there.

9b4d7d0

still investigating. I will have to do a pull and local buildout to figure it out. if anybody else has time, please look into it if you have the chance.

Improve Contributing page

this issue is mostly a "note to self" since I'm probably going to do this. the Contributing page could use some more visibility and content, so it's easy to find and has all the information new developers need to work on SC

upgrade to new markdown interpreter

The page build completed successfully, but returned the following warning:

Your site is using Maruku, the default Markdown interpreter. Maruku is now obsolete and may cause builds to fail for sites with invalid Markdown or HTML. See https://help.github.com/articles/migrating-your-pages-site-from-maruku for more information on upgrading to a newer Markdown interpreter.

For information on troubleshooting Jekyll see:

https://help.github.com/articles/using-jekyll-with-pages#troubleshooting

If you have any questions please contact us at https://github.com/contact.

jekyll build error

I was using ruby 2.0.0p195 and jekylll 1.2.1
it seems that markdown parsing have some problem

| Illegal character '&' in raw string "http://mailhide.recaptcha.net/d?k=01YVFnHW9NHLw39fEf2vm6mw==&c=ct4jjs4oH5itVZAFwWghfBP-5PfgsNuW15Gikv_byzQqQSSmTPpvOvuzkvw7KXZLWPIDEtGHNx693fKe1No2Qg=="
| Line: 3
| Position: 342
| Last 80 unconsumed characters:
| >
+---------------------------------------------------------------------------
!/Users/sean/.rvm/gems/ruby-2.0.0-p195@global/gems/maruku-0.6.1/lib/maruku/errors_management.rb:56:in `maruku_recover'
!/Users/sean/.rvm/gems/ruby-2.0.0-p195@global/gems/maruku-0.6.1/lib/maruku/helpers.rb:96:in `rescue in md_html'
!/Users/sean/.rvm/gems/ruby-2.0.0-p195@global/gems/maruku-0.6.1/lib/maruku/helpers.rb:85:in `md_html'
!/Users/sean/.rvm/gems/ruby-2.0.0-p195@global/gems/maruku-0.6.1/lib/maruku/input/parse_block.rb:255:in `read_raw_html'
!/Users/sean/.rvm/gems/ruby-2.0.0-p195@global/gems/maruku-0.6.1/lib/maruku/input/parse_block.rb:88:in `parse_blocks'
\___________________________________________________________________________
  Conversion error: There was an error converting 'community/1-mailing-lists.md

I think we need to specify ruby version and jekyll version in a Gemfile, maybe change a markdown parser in _config.yml?

Design issues

Small css issues:

  • SC logo is misplaced (index page)
  • SC title should have a slight shadow (all pages except index)
  • padding is missing between projects (projects page)
  • there should be at least 2 projects per row on wide resolutions (projects page)
  • open source has too much emphasis (index page)

general layout

The layout as a whole looks a little awkward: it may be better to align the sections the same way as the images, and also not just vertically?

Jekyll build broken locally

With a recent clone, building the site locally is broken:

ERROR: YOUR SITE COULD NOT BE BUILT:
------------------------------------
Invalid date '<%= Time.now.strftime('%Y-%m-%d %H:%M:%S %z') %>':
Document 'vendor/bundle/ruby/2.7.0/gems/jekyll-3.9.0/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb'
does not have a valid date in the YAML front matter.
  • ArchLinux
  • ruby-2.7.3p183

Re jekyll/jekyll#5267

This does not work anymore: Ndef and ".setAt" -- Why? [SC >= 3.9.1]

Hi,

I just installed SC 3.9.1 under Windows 7. I managed to build polyphonic Ndef with the following code (with SC 3.9.0) but now it says ".setAt not understood". Has it been removed? Why is it broken now?

########################
(
SynthDef( \myInstr1, { arg freq = 440, amp = 0.25, xgate = 0;
var e = EnvGen.kr(Env.asr(0.01, 1, 1, -4), gate: xgate, doneAction:0);
var sig = SinOsc.ar( freq!2, 0, e * amp );
Out.ar(0, sig);
}).send;
)

Ndef(\test1).play;
Ndef(\test1).put( 0, \myInstr1, 0, [\freq, 60.midicps, \xgate, 0]);
Ndef(\test1).setAt( 0, \xgate, 1 );
...
########################
I used to make polyphonic sound with many instances build with many ".put( ...".

Move wiki pages to GH wiki

Hi everybody, it's been a while :)

What about moving all wiki pages from the website to the Github wiki?
I have some free time...


Website WIKI pages

  • examples / code examples - MOVE TO RHPF Help - supercollider/supercollider#5507
  • examples / Pieces with live instruments or voice - DONE
  • tutorials / ERROR: Primitive 'BasicNew' failed. Inde... - DONE
  • tutorials / Tutorials - DONE
  • tutorials / ERROR: Server failed to start - OUTDATED
  • tutorials / User FAQ - MOVE TO HELP GUIDES - supercollider/supercollider#5507
  • community / Code of conduct - DONE -> link to it on the main WIKI page
  • community / Mailing Lists - OUTDATED and there's a link to the forum on the main WIKI page
  • community / blogs and sites - DONE
  • community / Systems interfacing with SC - DONE
  • community / sc140 - DONE
  • community / Supercollider Symposium - DONE
  • community / Academic Papers - DONE
  • contributing / Submitting, triaging, and fixing bugs- NOT NEEDED
  • contributing / Contributing - NOT NEEDED -> Copied "Labels" section to the new WIKI
  • contributing / Setting up the IDE for easy contribut... - DONE
  • contributing / supercollider.github.io [this site] - move to this repository WIKI DONE
  • contributing / Syntax coloring for SuperCollider - OUTDATED
  • development / Source Code Repository - NOT NEEDED
  • development / Building From Source - ALREADY THERE
  • development / Building From Source on BeagleBone Bla... - ALREADY THERE
  • development / Building From Source on Raspberry Pi - ALREADY THERE
  • development / Commit Message Format - ALREADY THERE
  • development / Cheat Sheet for Git - ALREADY THERE
  • development / Plugins - DONE
  • development / scsynth - DONE
  • development / Development Roadmap - OUTDATED
  • development / Quarks Repository has moved - OUTDATED
  • Old WIKIs ... / (old) sourceforge mediawiki - DONE
  • Old WIKIs ... / (really old) hamburg swiki - DONE

Issues with front page examples

@shimpe wrote:

I'd like to flag some shortcomings of the webpage. After all, there's only one chance to make a first impression.

  • The atari example on the web page apparently requires one to install an Atari UGen. This is not mentioned or explained anywhere on that page (I had to check the source code to find out where to get it!). New users pasting the example code in supercollider for the first time therefore are met with error messages without any clue how to go about solving them = instant turn-off.

  • Examples on the front page probably should also explicitly mention that one has to boot a server first (or should be rewritten using s.waitForBoot).

Slack / Scsynth?

sciss wrote on sc-dev:

someone asked me how to see SC activity; since I'm no longer that
involved, I thought I look it up on the page:

https://supercollider.github.io/

If you scroll down to Community, there is a link to 'Slack' but if you
follow it, I get "This link is no longer active"

On the repo README.md, there is link to https://scsynth.org/

I think probably website should remove Slack link and add scsynth.org link.

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.