Code Monkey home page Code Monkey logo

supercollider / sc3-plugins Goto Github PK

View Code? Open in Web Editor NEW
446.0 446.0 121.0 17.57 MB

Community plugins for SuperCollider

Home Page: https://supercollider.github.io/sc3-plugins/

License: GNU General Public License v2.0

CMake 0.17% SuperCollider 2.69% C++ 72.38% C 23.07% HTML 1.39% Haskell 0.01% Processing 0.02% Makefile 0.01% XSLT 0.02% MATLAB 0.03% Shell 0.02% Lua 0.02% Ruby 0.01% Hack 0.01% Faust 0.14% SCSS 0.01%
audio audio-engine sound sound-effects sound-synthesis-processes supercollider ugens

sc3-plugins'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.

sc3-plugins's People

Contributors

bagong avatar crucialfelix avatar danstowell avatar dependabot[bot] avatar dotinspace avatar dvzrv avatar dyfer avatar florian-grond avatar gusano avatar hzulla avatar jleben avatar jngpng avatar joshpar avatar joslloand avatar kisielk avatar lfsaw avatar lijon avatar llloret avatar mossheim avatar mtmccrea avatar patrickdupuis avatar redfrik avatar scztt avatar sicklincoln avatar sonoro1234 avatar tdug avatar telephon avatar timblechmann avatar yurivict avatar yvol 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  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  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  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  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

sc3-plugins's Issues

Null pointer checks after allocating memory

Quoting @timblechmann at supercollider/supercollider#782:

many plugins don't perform null pointer checks to ensure that rt memory allocation actually succeeds. instead of a nice error message, the effect is usually a server crash

We may need a few people to split the work up of identifying these UGens (I'll volunteer to be one!). This actually is important work: server crash under high memory use is no good.

Amplitude-modulation distortion in PV_PlayBuf / PV_RecordBuf in Linux

This has been an issue for at least a couple of years. I'm logging it now because Tim fixed an issue related to windowing functions in Linux, which I thought might have been related to this problem. It isn't -- I tested against SC's current master, and the PV_PlayBuf / PV_RecordBuf persists.

I'll assign myself temporarily because I want to see if Tim's FFT fix for SC might help these plugins. He replaced some uses of memcpy with memmove. I haven't looked at Josh's code in detail, but it seems entirely possible that memcpy could be in there and maybe it would help to update that. Can't try it just this second. Maybe later today.

If that fails, then I'll reassign to Josh.

Supernova versions of plugins don't get copied/installed on OS X

I'm building SC3-plugins on OSX 10.9 and I've set supernova=ON.

After running "make install" everything builds fine and in my build folder I get "SC3plugins", as well as "source" folders. While the "source" folder does include both regular and supernova plugins, "SC3plugins" (where everything else is) contains only regular ones.

Also, on my system supernova does not find plugins outside its own plugins folder in the SuperCollider.app/Contents/Resources/plugins, is there maybe connection between that and this bug?

AmplitudeMod is redundant

The AmpliduteMod states "As a opposed to Amplitude, AmplitudeMod, allows attack and release times to be modulated once the UGen has been instantiated." it is not true that Amplitude is not modulateable so i think AmplitudeMod is redundant.

OteySoundBoard and OteyPiano crash server

Running Ubuntu Studio 14.04, 32-bit. Kernel is 3.16.0-31-lowlatency. Running the most minimal use of OteyPiano causes scsynth to crash with only a message saying RESULT = 0.

ANN: sc3-plugins now available in Debian sid

Dear SuperCollider team and users,

The supercollider-sc3-plugins source package has recently been accepted to the Debian archive. It compiles to these packages:

The package is patched to allow building on all platforms that are supported by Debian's supercollider package.

Now is the time to review and test this package and report problems with it, especially on hardware that isn't x86 or ARM.

I'd also be grateful to hear your opinions on the packaging (e.g. the layout of the packages' contents) from you as a user.

This Debian package will later show up in future releases of Ubuntu's Universe repository and possibly in Raspbian, as well, so there is an incentive to get it right...

The packaging was done as part of an effort to package Sonic Pi, which depends on SuperCollider and the SC3 plugins.

While it is my intention to maintain both the supercollider-sc3-plugins and sonic-pi packages in Debian for the time being, I would welcome at least one more developer willing to help with packaging it correctly for the SC3 plugins users.

Thank you.

(Thanks to Debian developer @petterreinholdtsen for his continuous help on this and to the several SuperCollider developers for accepting packaging related patches and responding to my questions here.)

StkInst and libstk undefined symbol in Ubuntu

I was running the server without problems, and suddenly after a server reboot I have this message and the server wont start

*** ERROR: dlopen '/usr/lib/SuperCollider/plugins/StkInst.so' err '/usr/lib/x86_64-linux-gnu/libstk.so.0: undefined symbol: _ZN7RtAudio10openStreamEPNS_16StreamParametersES1_mjPjPFiPvS3_jdjS3_ES3_PNS_13StreamOptionsEPFvN7RtError4TypeERKSsE'

Any clues? libstk was installed from the ubuntu package

MCLDFilter UGens fail unit tests

Migrated from core (original issue at supercollider/supercollider#886)

There were failures:
a TestFilterUGens:test_time_invariance - Friction.ar is time invariant when delayed by 1 sample(s).
4184 of 4410 items in array failed to match. Displaying arrays from index of first failure (226) onwards:
FloatArray[ nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, ...etc...
! =
0

a TestFilterUGens:test_time_invariance - Friction.ar is time invariant when delayed by 64 sample(s).
4121 of 4410 items in array failed to match. Displaying arrays from index of first failure (289) onwards:
FloatArray[ nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, ...etc...
! =
0

StkInst compile fail on ARM (BeagleBone Black), blocks build

If I try to build sc3-plugins on BeagleBone Black (platform is based on ARM Cortex A8), the cmake fails with:

...
-- Building plugins for SuperCollider version: 3.7alpha1
-- local_sources: 
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - not found
-- Looking for stdint.h
-- Looking for stdint.h - not found
-- Looking for stddef.h
-- Looking for stddef.h - not found
-- Check size of unsigned short
-- Check size of unsigned short - failed
-- Check size of unsigned int
-- Check size of unsigned int - failed
-- Check size of unsigned long
-- Check size of unsigned long - failed
CMake Error at /usr/share/cmake-2.8/Modules/TestBigEndian.cmake:44 (message):
  no suitable type found
Call Stack (most recent call first):
  source/StkInst/CMakeLists.txt:50 (TEST_BIG_ENDIAN)


-- Configuring incomplete, errors occurred!

So, this is "caused" by the new StkInst STK wrapper by @sonoro1234. But the eventual cause seems to be that cmake, on this ARM platform, can't successfully complete the TEST_BIG_ENDIAN operation. I've checked the very latest (3.4.1) cmake source code and I don't think their TEST_BIG_ENDIAN has changed to address this, so I think at present we're stuck: the project simply can't build, because it chokes when configuring stk, and there's no option to deactivate it.

If I comment out the test (but since the ARM is little-endian I enable the flag that the test is supposed to decide about) then cmake configures happily.

Possible solutions: detect the arm platform ourselves; or add a flag to turn off building with stk if needed.

System info:

  • Linux arm 3.8.13xenomai-bone41 #2 Wed Mar 26 11:41:31 GMT 2014 armv7l GNU/Linux
  • cmake version 2.8.11.1

Remove LADSPA UGen output

Every time a LADSPA plugin is loaded with the LADSPA UGen, it prints out information like this:

LADSPA: Found plugin 2159 (TAP Chorus/Flanger)
IN 2: Frequency [Hz] [control]
IN 3: L/R Phase Shift [deg] [control]
IN 4: Depth [%] [control]
IN 5: Delay [ms] [control]
IN 6: Contour [Hz] [control]
IN 7: Dry Level [dB] [control]
IN 8: Wet Level [dB] [control]
IN 9: Input_L [audio]
IN 10: Input_R [audio]
OUT 0: Output_L [audio]
OUT 1: Output_R [audio]

This isn't a huge issue when you're just using a LADSPA plugin in an effect synth, but if you're using it in a synth that's triggered very often, it quickly fills up the PostBuffer with this output, sometimes making it very difficult to see much more important information. I think this output should be removed completely, since all of it can be accessed if necessary with the LADSPA.listPlugins method so there's really no need to print it every time a plugin is initialized.

MdaPiano should round frequency to midi note conversion rather than truncate

There is an issue with the MdaPiano synth that has been reported to the Overtone project. I think it is an issue for this project to address. See discussion at overtone/overtone#264

Repeating my comment from there...

The MdaPiano code here
https://github.com/supercollider/sc3-plugins/blob/master/source/MdaUGens/MdaUGens.cpp#L119
takes the freq in and converts it immediately to an integer note with
sc_cpsmidi(). Due to how sc_cpsmidi() is written, we are on the
knife's edge of precision issues as people above have found out. If
the input frequency is off by any amount towards zero, the integer
note returned is one lower than desired.

In my opinion, MdaPiano should be changed to allow for some slight
errors in the input frequency and use rounding instead of truncation
after calculating sc_cpsmidi(). Simply adding 0.5f prior to converting to an integer would do this.

The sc_cpsmidi and midicps functions are defined in SuperCollider here
and you can see they involve some magic constants:
https://github.com/supercollider/supercollider/blob/master/include/plugin_interface/SC_InlineUnaryOp.h

Here is a test program to show what is happening with any slight error.

/* lets test Supercollider midicps
 *
clang -o cpstest cpstest.cpp
 */

#include <stdio.h>
#include <cmath>
#define float32 float
const double rlog2  = 1./std::log(2.);

inline float32 sc_log2(float32 x)
{
#if __cplusplus >= 201103L
    return std::log2(x);
#elif defined(HAVE_C99)
    return ::log2f(std::abs(x));
#else
    return static_cast<float32>(std::log(std::abs(x)) * (float32)rlog2);
#endif
}

inline float32 sc_midicps(float32 note)
{
    return (float32)440. * std::pow((float32)2., (note - (float32)69.) * (float32)0.083333333333);
}

inline float32 sc_cpsmidi(float32 freq)
{
    return sc_log2(freq * (float32)0.0022727272727) * (float32)12. + (float32)69.;
}

int main(int argc, char **argv) {
    float32 epsilon = 0.0001;
    int t = 64;
    float32 f = sc_midicps((float32)t);
    printf("convert midi to freq...\n");
    printf("%d => %10.6f\n",t,f);
    int t0 = (int)sc_cpsmidi(f-epsilon);
    int t1 = (int)sc_cpsmidi(f);
    int t2 = (int)sc_cpsmidi(f+epsilon);
    printf("add a bit of noise to convert freq back to midi...\n");
    printf("%10.6f => %d\n",f-epsilon,t0);
    printf("%10.6f => %d\n",f,t1);
    printf("%10.6f => %d\n",f+epsilon,t2);
    printf("use rounding instead of truncation\n");
    t0 = (int)(sc_cpsmidi(f-epsilon) + 0.5f);
    t1 = (int)(sc_cpsmidi(f) + 0.5f);
    t2 = (int)(sc_cpsmidi(f+epsilon) + 0.5f);
    printf("%10.6f => %d\n",f-epsilon,t0);
    printf("%10.6f => %d\n",f,t1);
    printf("%10.6f => %d\n",f+epsilon,t2);
}
> clang -o cpstest cpstest.cpp
> ./cpstest 
convert midi to freq...
64 => 329.627563
add a bit of noise to convert freq back to midi...
329.627472 => 63  # OFF
329.627563 => 64
329.627655 => 64
use rounding instead of truncation
329.627472 => 64
329.627563 => 64
329.627655 => 64

VBAP Ugens 3D config, azimuth = -90 and spread = 1 causes NANs

a = VBAPSpeakerArray.new(3, [
                    [ -25.400967366, 0 ],
                    [ 25.9660516833, 0 ],
                    [ -67.0576274588, 0 ],
                    [ 66.6879780945, 0 ],
                    [ -107.4110491464, 0 ],
                    [ 107.3832377266, 0 ],
                    [ -146.2172414806, 0 ],
                    [ 146.1054525865, 0 ],
                    [ -20.4495476108, 17.8750032812 ],
                    [ 20.571247071, 17.8150833255 ],
                    [ -65.6744247609, 24.0287030727 ],
                    [ 65.6416496995, 23.9189613576 ],
                    [ -108.1204280324, 24.7878302634 ],
                    [ 108.1462414292, 24.906009848 ],
                    [ -155.454155974, 23.6313179834 ],
                    [ 155.6036500106, 23.5605201117 ],
                    [ -27.5218854663, 52.7448792263 ],
                    [ 28.2311587404, 52.8541958285 ],
                    [ -74.594892688, 57.9362142825 ],
                    [ 73.451059145, 59.0965878748 ],
                    [ -113.1577815608, 57.1078901345 ],
                    [ 110.9030667368, 56.4426902381 ],
                    [ -151.3671810066, 54.2142657891 ],
                    [ 152.046597927, 52.8541958285 ],
                    [ -28.0372821602, -50.4062940572 ],
                    [ 28.0372821602, -50.4062940572 ],
                    [ -77.6309384741, -52.9029151782 ],
                    [ 77.1957339347, -53.8362268718 ],
                    [ -116.4957697362, -51.38202567 ],
                    [ 116.7749248886, -51.6531568981 ],
                    [ -159.9660768355, -50.2322714936 ],
                    [ 157.4926118991, -49.7580403359 ]
                ]); // zig zag partial dome

b = Buffer.sendCollection(s, a.getSetsAndMatrices);

(
// pan around the circle up and down
x = {
var source;
source = PinkNoise.ar(0.2);
VBAP.ar(32, source, b.bufnum, -90, 0, 1);
}.play;
)

trace on they synth:

unit 45 VBAP
in 0.0105448 0 -90 0 1
out nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan

ATK: Ton of "FunctionDef contains variable declarations" warnings

WARNING: FunctionDef contains variable declarations and so will not be inlined.
  in file '/usr/local/share/SuperCollider/Extensions/SC3plugins/ATK/Classes/ATK.sc'
  line 405 char 29:

  						var name, matches = [];
                               
  
-----------------------------------
WARNING: FunctionDef contains variable declarations and so will not be inlined.
  in file '/usr/local/share/SuperCollider/Extensions/SC3plugins/ATK/Classes/ATK.sc'
  line 371 char 26:

  							var relWithoutLast;
                            
  							relWithoutLast = PathName( relPath.fullPath.dirname );
-----------------------------------
WARNING: FunctionDef contains variable declarations and so will not be inlined.
  in file '/usr/local/share/SuperCollider/Extensions/SC3plugins/ATK/Classes/ATK.sc'
  line 376 char 30:

  									var name, foundCnt=0;
                                
  									name = usrPN.fileNameWithoutExtension;
-----------------------------------
WARNING: FunctionDef contains variable declarations and so will not be inlined.
  in file '/usr/local/share/SuperCollider/Extensions/SC3plugins/ATK/Classes/ATK.sc'
  line 421 char 15:

  							var str;
                 
  							str = format("Multiple matches found for filename:\t%\n", usrPN.fileName);
-----------------------------------
WARNING: FunctionDef contains variable declarations and so will not be inlined.
  in file '/usr/local/share/SuperCollider/Extensions/SC3plugins/ATK/Classes/ATKMatrix.sc'
  line 230 char 37:

  			var dict = filePath.parseYAMLFile;
                                       
  			fileParse = IdentityDictionary(know: true);
-----------------------------------
WARNING: FunctionDef contains variable declarations and so will not be inlined.
  in file '/usr/local/share/SuperCollider/Extensions/SC3plugins/ATK/Classes/ATKMatrix.sc'
  line 337 char 25:

  				var mtxPath, relPath;
                           
  				mtxPath = Atk.getMatrixExtensionSubPath(argSet, argType);

JPverb cant be loaded by supernova

@timblechmann
I get this message:

Exception when reading synthdef: Cannot load synth aaa: Unit generator JPverbRaw not installed

May be has relation with the mechanism Faust employs in load function but it works in scsynth

Licensing question: Re-consider the sc3 plugins license?

Hi,

for the Debian package, I have gone through the sc3 plugins tarball and tried to identify all licenses used in it. This is the result:

http://anonscm.debian.org/cgit/pkg-multimedia/supercollider-sc3-plugins.git/tree/debian/copyright

The findings are:

  • SuperCollider itself is GPL-3.0+
  • the SC3 plugins default license is GPL-2.0+
  • some SC3 plugins are GPL-3.0+ in reference to SuperCollider
  • most SC3 plugins are GPL-2.0+, possibly in reference to the earlier version of SuperCollider
  • some SC3 plugins are LGPL-2.1+
  • there are some Boost, BSD and MIT licensed files in there, too.

While none of this is really a problem, I'd humbly suggest to consolidate the licenses to GPL-3.0+ where possible, in accord with SuperCollider itself.

OS-X 10.10 cmake install error: Could not find a package configuration file provided by "Qt5Core"

installing on os-x according to the README instructions throws errors about not finding Qt5Core ... help appreciated thx

$ sudo cmake -DSC_PATH= /Users/erikparr/SuperCollider

CMake Warning at QtCollider/CMakeLists.txt:5 (find_package):
By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5Core", but
CMake did not find one.

Could not find a package configuration file provided by "Qt5Core" with any
of the following names:

Qt5CoreConfig.cmake
qt5core-config.cmake

Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set
"Qt5Core_DIR" to a directory containing one of the above files. If
"Qt5Core" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
lang/CMakeLists.txt:174 (include)

CMake Warning at QtCollider/CMakeLists.txt:6 (find_package):
By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.

Could not find a package configuration file provided by "Qt5Widgets" with
any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

etc etc etc...

plugin profiling

Hi ,

I am trying to do plugin profiling with gprof:

I set cmake -DCMAKE_CXX_FLAGS=-pg -DCMAKE_MODULE_LINKER_FLAGS=-pg to get
that
but when I try to run scsynth it gets blocked in the plugin loading phase

Something I am missing?

Best
victor bombi

Typos in the code

When running the codespell tool on the source code, several typos are reported:

./source/NCAnalysisUGens/SMS.cpp:179: auxilliary ==> auxiliary
./source/NCAnalysisUGens/sc/help/TPV.html:120: threshhold ==> threshold
./source/NCAnalysisUGens/sc/help/TPV.html:124: threshhold ==> threshold
./source/NCAnalysisUGens/sc/help/TPV.html:125: threshhold ==> threshold
./source/NCAnalysisUGens/sc/help/LPCAnalyzer.html:28: modeled ==> modelled
./source/NCAnalysisUGens/sc/help/SMS.html:30: modeled ==> modelled
./source/NCAnalysisUGens/sc/HelpSource/Classes/SMS.schelp:8: modeled ==> modelled
./source/NCAnalysisUGens/sc/HelpSource/Classes/TPV.schelp:120: threshhold ==> threshold
./source/NCAnalysisUGens/sc/HelpSource/Classes/TPV.schelp:124: threshhold ==> threshold
./source/NCAnalysisUGens/sc/HelpSource/Classes/TPV.schelp:125: threshhold ==> threshold
./source/NCAnalysisUGens/sc/HelpSource/Classes/LPCAnalyzer.schelp:8: modeled ==> modelled
./source/PitchDetection/Tartini.cpp:573: negitive ==> negative
./source/PitchDetection/Tartini.cpp:574: negitive ==> negative
./source/PitchDetection/Qitch.cpp:226: unecessary ==> unnecessary
./source/PitchDetection/Qitch.cpp:448: unecessary ==> unnecessary
WARNING: Binary file: ./source/PitchDetection/sc/extraqitchfiles/QspeckernN4096SR48000.wav
WARNING: Binary file: ./source/PitchDetection/sc/extraqitchfiles/QspeckernN4096SR44100.wav
WARNING: Binary file: ./source/PitchDetection/sc/extraqitchfiles/QspeckernN2048SR48000.wav
WARNING: Binary file: ./source/PitchDetection/sc/extraqitchfiles/QspeckernN2048SR44100.wav
WARNING: Binary file: ./source/PitchDetection/sc/extraqitchfiles/QspeckernN8192SR44100.wav
WARNING: Binary file: ./source/PitchDetection/sc/extraqitchfiles/QspeckernN1024SR44100.wav
./source/PitchDetection/sc/help/Qitch.html:44: auxilliary ==> auxiliary
./source/PitchDetection/sc/HelpSource/Classes/Qitch.schelp:12: auxilliary ==> auxiliary
./source/LoopBufUGens/sc/classes/LJP Classes/ProbabilityDistributions.sc:55: occurance ==> occurrence
./source/LoopBufUGens/sc/classes/LJP Classes/ProbabilityDistributions.sc:138: occurance ==> occurrence
WARNING: Decoding file ./source/LoopBufUGens/sc/classes/LJP Classes/Extensions/tuningScale.sc
WARNING: using encoding=utf-8 failed.
WARNING: Trying next encoding: utf-8
./source/BetablockerUGens/BetablockerUGens.cpp:157: adress ==> address
./source/BetablockerUGens/sc/BBlockerProgram.sc:135: adress ==> address
./source/TagSystemUGens/TagSystemUgens.cpp:7: Sytem ==> System
./source/TagSystemUGens/sc/Help/Dtag.htm:257: whith ==> with
./source/TagSystemUGens/sc/HelpSource/Classes/Dtag.schelp:136: whith ==> with
./source/BBCut2UGens/sc/AutoTrack.html:38: maneouvres ==> manoeuvres
./source/BBCut2UGens/sc/HelpSource/Classes/AutoTrack.schelp:23: maneouvres ==> manoeuvres
./source/AntiAliasingOscillators/sc/Help/BlitB3Tri.html:38: vengence ==> vengeance
./source/AntiAliasingOscillators/sc/HelpSource/Classes/BlitB3Tri.schelp:27: vengence ==> vengeance
./source/RMEQSuiteUGens/sc/Spreader.html:31: Thta ==> That
WARNING: Decoding file ./source/ATK/sc/README_RECORDINGS
WARNING: using encoding=utf-8 failed.
WARNING: Trying next encoding: utf-8
./source/ATK/sc/Classes/ATK.sc:124: nto ==> not | disable due to \n
WARNING: Binary file: ./source/ATK/sc/HelpSource/Guides/atknetwork.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Guides/atk-network.pdf
./source/ATK/sc/HelpSource/Guides/Intro-to-the-ATK.schelp:270: choosen ==> chosen
./source/ATK/sc/HelpSource/Guides/Intro-to-the-ATK.schelp:330: choosen ==> chosen
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/direct_y_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/dominance_fig.png
./source/ATK/sc/HelpSource/Classes/FoaXform.schelp:34: tranform ==> transform
./source/ATK/sc/HelpSource/Classes/FoaXform.schelp:42: definining ==> defining
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/balance_fig.png
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:81: tranform ==> transform
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:89: definining ==> defining
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:100: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:178: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:257: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:337: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:447: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:553: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:640: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:729: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaTransform.schelp:815: choosen ==> chosen
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/direct_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/asymmetry_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/focus_fig.png
./source/ATK/sc/HelpSource/Classes/FoaDecoderMatrix.schelp:273: conjuction ==> conjunction
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:45: definining ==> defining
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:57: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:127: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:201: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:275: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:339: unconvential ==> unconventional
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:343: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:417: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:493: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:570: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:650: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:732: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:818: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:888: choosen ==> chosen
./source/ATK/sc/HelpSource/Classes/FoaEncode.schelp:959: choosen ==> chosen
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/zoom_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/press_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/push_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Classes/direct_x_fig.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Other/ccbysa3_88x31.png
WARNING: Binary file: ./source/ATK/sc/HelpSource/Other/gplv3-88x31.png
./source/AuditoryModeling/AuditoryModelingUGens.cpp:392: bandwith ==> bandwidth
./source/DWGUGens/sc/HelpSource/Classes/DWGBowed.schelp:9: throught ==> thought, through, throughout
./source/DWGUGens/sc/HelpSource/Classes/DWGPlucked.schelp:19: strenght ==> strength
./source/DWGUGens/sc/HelpSource/Classes/DWGPlucked.schelp:19: Betwen ==> Between
./source/DWGUGens/sc/HelpSource/Classes/DWGBowedSimple.schelp:9: throught ==> thought, through, throughout
./source/DWGUGens/sc/HelpSource/Classes/DWGPlucked2.schelp:19: strenght ==> strength
./source/DWGUGens/sc/HelpSource/Classes/DWGPlucked2.schelp:19: Betwen ==> Between
./source/DWGUGens/sc/HelpSource/Classes/DWGBowedTor.schelp:9: throught ==> thought, through, throughout
WARNING: Decoding file ./source/DWGUGens/sc/HelpSource/Classes/DWGPluckedStiff.schelp
WARNING: using encoding=utf-8 failed.
WARNING: Trying next encoding: utf-8
./source/DWGUGens/sc/HelpSource/Classes/DWGPluckedStiff.schelp:9: acording ==> according
./source/DWGUGens/sc/HelpSource/Classes/DWGPluckedStiff.schelp:21: strenght ==> strength
./source/DWGUGens/sc/HelpSource/Classes/DWGPluckedStiff.schelp:21: Betwen ==> Between
./source/MCLDUGens/MCLD_CQ_UGens.cpp.OFF:330: unecessary ==> unnecessary
./source/MCLDUGens/MCLD_CQ_UGens.cpp.OFF:560: unecessary ==> unnecessary
WARNING: Binary file: ./source/MCLDUGens/sc/Help/attachments/Friction/friction1-diaram.png
WARNING: Binary file: ./source/MCLDUGens/sc/HelpSource/Classes/friction1-diagram.png
./source/JoshUGens/JoshUGens.cpp:2546: Emperical ==> Empirical
./source/JoshUGens/JoshUGens.cpp:4273: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4276: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4279: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4286: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4289: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4296: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4299: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4306: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4309: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4324: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4324: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4327: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4334: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4337: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4343: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4362: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4366: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4370: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4375: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4378: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4388: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4421: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4427: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4430: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4436: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4439: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4445: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4450: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4464: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4471: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4473: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4475: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4477: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4479: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4481: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4483: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4487: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4489: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4491: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4497: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4499: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4501: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4503: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4515: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4529: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4536: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4538: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4540: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4542: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4544: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4546: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4548: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4552: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4554: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4556: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4562: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4564: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4566: parY ==> party
./source/JoshUGens/JoshUGens.cpp:4568: parY ==> party
./source/JoshUGens/sc/classes/TTendency.sc:3: parY ==> party
./source/JoshUGens/sc/classes/TTendency.sc:4: parY ==> party
./source/JoshUGens/sc/classes/TTendency.sc:7: parY ==> party
./source/JoshUGens/sc/classes/TTendency.sc:8: parY ==> party
./source/JoshUGens/sc/classes/RPlay.sc:42: funtion ==> function
./source/JoshUGens/sc/classes/AmbisonicsSC2.sc:352: absorbtion ==> absorption
./source/JoshUGens/sc/classes/AmbisonicsSC2.sc:364: absorbtion ==> absorption
./source/JoshUGens/sc/classes/TheBFMixer.sc:496: INDEPENDANT ==> INDEPENDENT
./source/JoshUGens/sc/classes/TheBFMixer.sc:946: seperate ==> separate
./source/JoshUGens/sc/classes/Tendency.sc:2: parY ==> party
./source/JoshUGens/sc/classes/Tendency.sc:4: parY ==> party
./source/JoshUGens/sc/classes/Tendency.sc:5: parY ==> party
./source/JoshUGens/sc/classes/Tendency.sc:38: parY ==> party
./source/JoshUGens/sc/classes/Tendency.sc:75: parY ==> party
./source/JoshUGens/sc/classes/Tendency.sc:95: parY ==> party
./source/JoshUGens/sc/classes/Vocoder.sc:2: threshhold ==> threshold
WARNING: Decoding file ./source/JoshUGens/sc/classes/Class Files/BiquadEQ.sc
WARNING: using encoding=utf-8 failed.
WARNING: Trying next encoding: utf-8
./source/JoshUGens/sc/classes/Class Files/CheapVerb.sc:11: seperate ==> separate
./source/JoshUGens/sc/help/LPCSynth.html:36: begining ==> beginning
./source/JoshUGens/sc/help/ProcModR.html:265: interchangable ==> interchangeable
./source/JoshUGens/sc/help/BFMixer.html:31: independant ==> independent
./source/JoshUGens/sc/help/BFMixer.html:35: begining ==> beginning
./source/JoshUGens/sc/help/BFMixer.html:39: begining ==> beginning
./source/JoshUGens/sc/help/BFMixer.html:43: begining ==> beginning
./source/JoshUGens/sc/help/BFMixer.html:51: specfic ==> specific
./source/JoshUGens/sc/help/BFDecode1.html:60: caluclated ==> calculated
./source/JoshUGens/sc/help/ProcMod.html:247: persistant ==> persistent
./source/JoshUGens/sc/help/ProcMod.html:249: persistant ==> persistent
./source/JoshUGens/sc/help/Tendency.html:51: parY ==> party
./source/JoshUGens/sc/help/Tendency.html:55: parY ==> party
./source/JoshUGens/sc/help/Tendency.html:85: parY ==> party
./source/JoshUGens/sc/help/Tendency.html:265: parY ==> party
./source/JoshUGens/sc/help/WarpOverlap.html:32: architechture ==> architecture
./source/JoshUGens/sc/help/WarpZ.html:37: begining ==> beginning
./source/JoshUGens/sc/help/ProcEvents.html:248: persistant ==> persistent
./source/JoshUGens/sc/help/ProcEvents.html:250: persistant ==> persistent
./source/JoshUGens/sc/help/LPCVals.html:36: begining ==> beginning
./source/JoshUGens/sc/help/AtsFile.html:27: tranformed ==> transformed
./source/VBAPUGens/VBAP.cpp:418: transfering ==> transferring
./source/VBAPUGens/sc/HelpSource/Classes/VBAPSpeaker.schelp:30: repectively ==> respectively
./source/OteyPianoUGens/sc/HelpSource/Classes/OteyPiano.schelp:24: Betwen ==> Between
./source/OteyPianoUGens/sc/HelpSource/Classes/OteyPiano.schelp:52: lenght ==> length
./source/OteyPianoUGens/sc/HelpSource/Classes/OteyPiano.schelp:55: lenght ==> length
./source/OteyPianoUGens/sc/HelpSource/Classes/OteyPianoStrings.schelp:23: Betwen ==> Between
./source/OteyPianoUGens/sc/HelpSource/Classes/OteyPianoStrings.schelp:50: lenght ==> length
./source/OteyPianoUGens/sc/HelpSource/Classes/OteyPianoStrings.schelp:53: lenght ==> length
WARNING: Binary file: ./source/Neuromodules/sc/HelpSource/Classes/neuromodule.png
./source/StkUGens/StkAll.cpp:1150: Nickle ==> Nickel
WARNING: Decoding file ./source/AYUGens/AY_libayemu/src/ay8912.c
WARNING: using encoding=utf-8 failed.
WARNING: Trying next encoding: utf-8
./source/AYUGens/AY_libayemu/src/ay8912.c:227: occure ==> occur
./source/AYUGens/AY_libayemu/include/ayemu.h:32: comming ==> coming
./source/SCMIRUGens/SensoryDissonance.cpp:11: auxilliary ==> auxiliary
./source/SLUGens/SLUGens.cpp:1425: compatability ==> compatibility
./source/SLUGens/sc/help/KmeansToBPSet1.html:31: succesive ==> successive
./source/SLUGens/sc/help/KmeansToBPSet1.html:39: inbetween ==> between
./source/SLUGens/sc/help/DoubleWell.html:47: arbitary ==> arbitrary
./source/SLUGens/sc/help/DoubleWell2.html:49: arbitary ==> arbitrary
./source/SLUGens/sc/help/NTube.html:33: inbetween ==> between
./source/SLUGens/sc/help/TwoTube.html:30: inbetween ==> between
./source/SLUGens/sc/HelpSource/Classes/TwoTube.schelp:10: inbetween ==> between
./source/SLUGens/sc/HelpSource/Classes/KmeansToBPSet1.schelp:10: succesive ==> successive
./source/SLUGens/sc/HelpSource/Classes/KmeansToBPSet1.schelp:29: inbetween ==> between
./source/SLUGens/sc/HelpSource/Classes/NTube.schelp:10: inbetween ==> between
./source/SLUGens/sc/HelpSource/Classes/DoubleWell2.schelp:42: arbitary ==> arbitrary
./source/SLUGens/sc/HelpSource/Classes/DoubleWell.schelp:18: arbitary ==> arbitrary
./source/DEINDUGens/JPverbRaw.cpp:1506: Aquire ==> Acquire
./source/DEINDUGens/JPverbRaw.cpp:1511: Aquire ==> Acquire
./source/DEINDUGens/GreyholeRaw.cpp:1240: Aquire ==> Acquire
./source/DEINDUGens/GreyholeRaw.cpp:1245: Aquire ==> Acquire
./source/DEINDUGens/include/faust/audio/alsa-dsp.h:533: detailled ==> detailed
./source/DEINDUGens/faust_src/JPverbRaw.cpp:1506: Aquire ==> Acquire
./source/DEINDUGens/faust_src/JPverbRaw.cpp:1511: Aquire ==> Acquire
./source/DEINDUGens/faust_src/GreyholeRaw.cpp:1240: Aquire ==> Acquire
./source/DEINDUGens/faust_src/GreyholeRaw.cpp:1245: Aquire ==> Acquire
WARNING: Decoding file ./source/DEINDUGens/sc/examples/compar.pdf
WARNING: using encoding=utf-8 failed.
WARNING: Trying next encoding: utf-8
./source/DEINDUGens/sc/examples/compar.pdf:1484: yUo ==> you
WARNING: Binary file: ./source/DEINDUGens/sc/HelpSource/Overviews/DEIND.png
WARNING: Binary file: ./source/DEINDUGens/sc/HelpSource/Overviews/DEIND.jpg
WARNING: Binary file: ./source/DEINDUGens/sc/HelpSource/Classes/JPverb-logo.jpg
WARNING: Binary file: ./source/DEINDUGens/sc/HelpSource/Classes/Greyhole-logo.jpg
WARNING: Binary file: ./source/DEINDUGens/sc/HelpSource/Classes/Greyhole-logo-small.png
WARNING: Binary file: ./source/DEINDUGens/sc/HelpSource/Classes/JPverb-logo-small.png
./external_libraries/TLSF-2.4.6/Changelog:64: minumum ==> minimum
./external_libraries/TLSF-2.4.6/src/tlsf.c:31: minumum ==> minimum

Perhaps you want to fix these?

Duplicate classes in faust_src

SuperCollider 3.6.6 on Mac OSX El Capitan 10.11.1

At first I kept getting this error message (displayed here in full).

As soon as I deleted the 'faust_src' folder and it compiled successfully. Hope this helps someone.

compiling class library...
NumPrimitives = 688
compiling dir: '/Applications/SuperCollider/SuperCollider.app/Contents/Resources/SCClassLibrary'
compiling dir: '/Users/lightspeed/Library/Application Support/SuperCollider/Extensions'
ERROR: duplicate Class found: 'Greyhole'
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/faust_src/Greyhole.sc
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/sc/Greyhole.sc

ERROR: duplicate Class found: 'GreyholeRaw'
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/faust_src/Greyhole.sc
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/sc/Greyhole.sc

ERROR: duplicate Class found: 'JPverb'
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/faust_src/JPverb.sc
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/sc/JPverb.sc

ERROR: duplicate Class found: 'JPverbRaw'
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/faust_src/JPverb.sc
/Users/lightspeed/Library/Application Support/SuperCollider/Extensions/sc3-plugins-master/source/DEINDUGens/sc/JPverb.sc

Tautological comparison warnings

Is it safe to remove these conditions? It seems they do nothing:

[  1%] Building CXX object source/CMakeFiles/NCAnalysisUGens.dir/NCAnalysisUGens/MedianSeparation.cpp.o
./sc3-plugins/source/NCAnalysisUGens/MedianSeparation.cpp:385:26: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
            if ((bufnum1 >= 0) && (bufnum2 >= 0) ) { 
                 ~~~~~~~ ^  ~
./sc3-plugins/source/NCAnalysisUGens/MedianSeparation.cpp:385:44: warning: comparison of unsigned expression >= 0 is always true [-Wtautological-compare]
            if ((bufnum1 >= 0) && (bufnum2 >= 0) ) { 
                                   ~~~~~~~ ^  ~
2 warnings generated.

and

./sc3-plugins/source/PitchDetection/Qitch.cpp:194:53: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
        if (!((ampbufnum > world->mNumSndBufs) || ampbufnum<0)) {
                                                  ~~~~~~~~~^~
1 warning generated.

PV_Freeze frequently hangs in supernova

Ubuntu 14.04. I'm building everything from source -- SC3.8, sc3-plugins at commit e059ac0 (Fri Oct 16, "Merge pull request #40 from sonoro1234/libmodify").

The following code causes supernova to hang, within the first few iterations of the pattern.

(
SynthDef(\freeze, { |gate = 1|
	var sig = BrownNoise.ar(0.05),
	freeze = Rand(0.0, 1.999).trunc(1.0),
	fft = FFT(LocalBuf(256), sig),
	eg = Linen.kr(gate, 0.01, 1, 0.01, doneAction: 2);
	fft = PV_Freeze(fft, freeze);
	sig = IFFT(fft);
	Out.ar(0, (sig * eg).dup);
}).add;
)

p = Pbind(\instrument, \freeze, \dur, 2, \sustain, 1.5).play;

Running supernova within gdb locates one suspicious thread (abbreviated here -- the rest looks normal). I ran several tests in gdb, and whenever it hangs, there is always a thread like this.

Thread 19 (Thread 0x7fffdc17e700 (LWP 11271)):
#0  0x00007fffe691ae48 in PV_Freeze_next ()
   from /usr/local/lib/SuperCollider/plugins/JoshPVUGens_supernova.so
#1  0x0000000000423f63 in nova::sc_synth::perform (this=<optimized out>)
    at /home/dlm/share/sc-hjh.git/server/supernova/server/../sc/sc_synth.hpp:97
#2  0x000000000042402f in operator() (index=0 '\000', 
    this=this@entry=0x7fffed617868)
    at /home/dlm/share/sc-hjh.git/server/supernova/server/dsp_thread_queue_node.hpp:50
#3  nova::dsp_queue_node<nova::rt_pool_allocator<void*> >::operator() (
    this=this@entry=0x7fffed617868, thread_index=thread_index@entry=0 '\000')
    at /home/dlm/share/sc-hjh.git/server/supernova/server/dsp_thread_queue_node.hpp:81
#4  0x0000000000424265 in run (thread_index=<optimized out>, interpreter=..., 
    this=0x7fffed617860)
    at /home/dlm/share/sc-hjh.git/server/supernova/./dsp_thread_queue/dsp_thread_queue.hpp:147
#5  nova::dsp_queue_interpreter<nova::dsp_queue_node<nova::rt_pool_allocator<void*> >, nova::rt_pool_allocator<void*> >::run_next_item (
    this=this@entry=0x7ffffff71838, index=index@entry=0 '\000')
    at /home/dlm/share/sc-hjh.git/server/supernova/./dsp_thread_queue/dsp_thread_queue.hpp:624

Other permutations:

  • PV_Freeze vs scysnth - no hang
  • PV_MagFreeze vs supernova - no hang

So it's only the combination of PV_Freeze and supernova that is the problem.

I need to use supernova because I'm running a ton of oscillators and parallel processing is cutting DSP time roughly in half. PV_Freeze is the sound I want -- in this case, I like the brutal repetition of grains -- but for the concert in a week and a half, I will have to compromise and use PV_MagFreeze instead, just to be sure the performance doesn't crash and burn.

I might guess that this happens when freeze > 0 in the first calculation block -- but I just tried to come up with an example of that, and then the problem stopped happening. So... I don't know.

Pan parameter of TGrains2

The doc of TGrains2 states that the pan parameter should behave like PanAz, but it is not the case. It behaves rather strangely.

b = Buffer.read(Server.default, Platform.resourceDir +/+ "sounds/a11wlk01-44_1.aiff");
x = {TGrains2.ar(
    numChannels: 2,
    trigger: Impulse.kr(10),
    bufnum: b.bufnum,
    rate: 1,
    centerPos: MouseX.kr(0, BufDur.kr(b)),
    pan: MouseX.kr(-1,1.01)
);
}.play;

The sound should be panned fully to the left when pan is at -0.5 and fully to the right when pan is at 0.5. Here, pan behaves more like Pan2, but inverted. Also, the panning goes abruptly from one side to the other when pan goes above 1.00 or below -1.00.

Compare with this:

{PanAz.ar(2, SinOsc.ar(mul:0.1), MouseX.kr(-1.01, 1.01))}.play;

virtual room plugins (christmas present)

Hi,

Just published a RIR generator of virtual room (image method of Allen an Berkley) plus late reverb modeling by feedback delay networks in:

https://github.com/sonoro1234/DWGReverb

Only source so must be compiled. Script in Lua should be translated (two plugin definitions and a Synthdef) (I someone translates please fork and commit sc file)

I am quite satisfied with sound quality an efficiency.

Take a look and post your comments.

happy holidays for everyone
victor

BlitB3 can "freeze" at low frequencies

The BlitB3 uGen is freezing on Windows 10 (64-bit) using the pre-compiled plug-in library and SC 3.7.1 (also 64-bit).

I'm using the following line of code:

{BlitB3.ar(MouseX.kr(0.01, 10000))}.scope

If I move my mouse to the far left of my screen, the uGen will occasionally stop generating. Sometimes, it will start generating again after a few seconds. I did one test where it took about two minutes to start generating again.

NoveDiskIO build fail

C:\SupercolliderRepos\plugins2\buildNOVADiskIO>mingw32-make NovaDiskIO
[100%] Building CXX object source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/NovaDiskIO.cpp.obj
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:39:16: error:
 'BOOST_ATTRIBUTE_NORETURN' does not name a type
 BOOST_NOINLINE BOOST_ATTRIBUTE_NORETURN void throw_exception(const char* func, const char* file, int line, T&&... args)
                ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp: In member fun
ction 'void boost::sync::detail::windows::waitable_timer_state::init()':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:187:17: note:
in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                 BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: unable to allocate a TLS slot"));
                 ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:187:17: note:
in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                 BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: unable to allocate a TLS slot"));
                 ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:187:17: note:
in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                 BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: unable to allocate a TLS slot"));
                 ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:253:13: note:
in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: unable to allocate a TLS slot"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:253:13: note:
in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: unable to allocate a TLS slot"));
             ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:253:13: note:
in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: unable to allocate a TLS slot"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp: In member fun
ction 'boost::sync::detail::windows::waitable_timer_state::thread_local_context* boost::sync::detail::windows::waitable_timer
_state::create_thread_local_context()':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:300:9: note: i
n expansion of macro 'BOOST_SYNC_DETAIL_THROW'
         BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: failed to initialize a waitable timer"));
         ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:300:9: note: i
n expansion of macro 'BOOST_SYNC_DETAIL_THROW'
         BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: failed to initialize a waitable timer"));
         ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:300:9: note: i
n expansion of macro 'BOOST_SYNC_DETAIL_THROW'
         BOOST_SYNC_DETAIL_THROW(resource_error, (err)("Boost.Sync: failed to initialize a waitable timer"));
         ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp: In function '
void* boost::sync::detail::windows::get_waitable_timer()':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:331:9: note: i
n expansion of macro 'BOOST_SYNC_DETAIL_THROW'
         BOOST_SYNC_DETAIL_THROW(std::logic_error, ("Boost.Sync: different Boost versions are used in the application"));
         ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:331:9: note: i
n expansion of macro 'BOOST_SYNC_DETAIL_THROW'
         BOOST_SYNC_DETAIL_THROW(std::logic_error, ("Boost.Sync: different Boost versions are used in the application"));
         ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/waitable_timer.hpp:331:9: note: i
n expansion of macro 'BOOST_SYNC_DETAIL_THROW'
         BOOST_SYNC_DETAIL_THROW(std::logic_error, ("Boost.Sync: different Boost versions are used in the application"));
         ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:
In constructor 'boost::sync::winnt5::semaphore::semaphore(unsigned int)':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:5
2:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(resource_error, (err)("semaphore constructor failed in CreateSemaphore"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:5
2:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(resource_error, (err)("semaphore constructor failed in CreateSemaphore"));
             ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:5
2:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(resource_error, (err)("semaphore constructor failed in CreateSemaphore"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:
In member function 'void boost::sync::winnt5::semaphore::post()':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:6
7:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(overflow_error, (err)("semaphore::post failed in ReleaseSemaphore"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:6
7:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(overflow_error, (err)("semaphore::post failed in ReleaseSemaphore"));
             ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:6
7:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(overflow_error, (err)("semaphore::post failed in ReleaseSemaphore"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:
In member function 'void boost::sync::winnt5::semaphore::wait()':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:7
6:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::wait failed in WaitForSingleObject"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:7
6:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::wait failed in WaitForSingleObject"));
             ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:7
6:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::wait failed in WaitForSingleObject"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:
In member function 'bool boost::sync::winnt5::semaphore::try_wait()':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:8
7:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::try_wait failed in WaitForSingleObject"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:8
7:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::try_wait failed in WaitForSingleObject"));
             ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:8
7:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::try_wait failed in WaitForSingleObject"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:
In member function 'bool boost::sync::winnt5::semaphore::priv_timed_wait(boost::sync::detail::system_duration)':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
35:21: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                     BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::timed_wait failed in WaitForSingleObject"));
                     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
35:21: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                     BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::timed_wait failed in WaitForSingleObject"));
                     ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
35:21: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                     BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::timed_wait failed in WaitForSingleObject"));
                     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:
In member function 'bool boost::sync::winnt5::semaphore::priv_timed_wait(const boost::sync::detail::system_time_point&)':
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
53:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::timed_wait failed to set a timeout"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
53:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::timed_wait failed to set a timeout"));
             ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:46: error
: expected primary-expression before '>' token
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                              ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
53:13: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
             BOOST_SYNC_DETAIL_THROW(wait_error, (err)("semaphore::timed_wait failed to set a timeout"));
             ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: error:
 'throw_exception' is not a member of 'boost::sync::detail'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
71:17: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                 BOOST_SYNC_DETAIL_THROW(lock_error, (err)("semaphore::timed_wait failed in WaitForMultipleObjects"));
                 ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:5: note:
suggested alternative:
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
     ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
71:17: note: in expansion of macro 'BOOST_SYNC_DETAIL_THROW'
                 BOOST_SYNC_DETAIL_THROW(lock_error, (err)("semaphore::timed_wait failed in WaitForMultipleObjects"));
                 ^
In file included from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/array.hpp:49:0,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/detail/freelist.hpp
:15,
                 from C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/lockfree/queue.hpp:21,
                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:39:
C:/SupercolliderRepos/master4/supercollider/external_libraries/boost/boost/throw_exception.hpp:62:46: note:   'boost::throw_e
xception'
 template<class E> BOOST_NORETURN inline void throw_exception( E const & e )
                                              ^
In file included from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/s
emaphore_windows.hpp:21:0,
                 from C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/semaphore.hpp:139,

                 from C:\SupercolliderRepos\plugins2\sc3-plugins\source\NovaDiskIO\NovaDiskIO.cpp:41:
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/semaphore/semaphore_windows.hpp:1
71:41: error: 'lock_error' was not declared in this scope
                 BOOST_SYNC_DETAIL_THROW(lock_error, (err)("semaphore::timed_wait failed in WaitForMultipleObjects"));
                                         ^
C:/SupercolliderRepos/plugins2/sc3-plugins/source/NovaDiskIO/sync/include/boost/sync/detail/throw_exception.hpp:177:43: note:
 in definition of macro 'BOOST_SYNC_DETAIL_THROW'
     boost::sync::detail::throw_exception< ex >(BOOST_SYNC_DETAIL_HERE, BOOST_PP_SEQ_ENUM(args_seq))
                                           ^
source\NovaDiskIO\CMakeFiles\NovaDiskIO.dir\build.make:54: recipe for target 'source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/Nov
aDiskIO.cpp.obj' failed
mingw32-make[3]: *** [source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/NovaDiskIO.cpp.obj] Error 1
CMakeFiles\Makefile2:5154: recipe for target 'source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/all' failed
mingw32-make[2]: *** [source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/all] Error 2
CMakeFiles\Makefile2:5166: recipe for target 'source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/rule' failed
mingw32-make[1]: *** [source/NovaDiskIO/CMakeFiles/NovaDiskIO.dir/rule] Error 2
Makefile:1951: recipe for target 'NovaDiskIO' failed
mingw32-make: *** [NovaDiskIO] Error 2

Really weird, glitchy audio with JPverb and Greyhole

Run the following and leave it running for a while:

(
{ JPverb.ar(Saw.ar(100) * EnvGen.kr(Env.perc(0.01, 1), Impulse.kr(0))) * 0.1 }.play;
{ SinOsc.ar(440) * EnvGen.kr(Env.perc(0.01, 1), Impulse.kr(1)) * 0.1!2 }.play;
)

Watch the CPU. For me, it stays at a consistent 7-8% for a while. After about one minute, it spikes to 50% and then quickly drops to less than 1%, and the audio from the other synth sounds weird and crackly.

This happens consistently when audio is fed into a JPverb or a Greyhole followed by a long stretch of complete silence. After the silence, all other audio output from SuperCollider sounds crackly. If audio is played to the reverb unit again, the audio returns to normal after a few seconds.

Even weirder, the crackliness does not seem to show up in Stethoscope, FreqScope, or s.record!

new Stk wrapping

Hello,

Stk is a library devoted to physical modeling

https://ccrma.stanford.edu/software/stk/index.html

As StkUgens are quite buggy I did another stk wraping for myself:
Is is based on StkInstrumnt so that with only one UGen (StkInst) it is
possible to talk to all stk instruments and specific parameter are accesed
by number.

for example stk::Bowed has
https://ccrma.stanford.edu/software/stk/classstk_1_1Bowed.html

Bow Pressure = 2
Bow Position = 4
Vibrato Frequency = 11
Vibrato Gain = 1
Bow Velocity = 100
Frequency = 101
Volume = 128

(
SynthDef(\helpStkbowed,{arg out=0,freq=220,gate=1,amp=1,bowpressure = 64, bowposition = 17, vibfreq=50, vibgain=1, loudness=128;
    var sig,env;
    env = EnvGen.kr(Env.asr(0,1,0.1),gate,doneAction:2);
    sig = StkInst.ar(Stk.at("Bowed"),freq, gate, amp, 0.5,[2,bowpressure,4,bowposition,11,vibfreq,1,vibgain,128,loudness])*env;
    Out.ar(out, sig.dup);
}).add;
)

It can be found on:
https://github.com/sonoro1234/StkInst

Works for me
but I would like somebody to use it before doing a pull request for sc3-plugins
Also need some advise about copying audio stk files (where, how...)

Best
victor bombi

Tags for older releases

I'm trying to build this code on Debian Jessie, which ships with Supercollider 3.6.6. I'm getting compilation failures(https://gist.github.com/technomancy/ad2c7081eb9e86d8f8f64ab73cfb6318), but I read that these could be solved by matching up the version of the plugins with the version of Supercollider.

Unfortunately I can't find what version to use since the releases before 3.7.0 were not properly tagged. Can you push tags for these versions or suggest another way to fix the compilation failure?

EnvDetect must not accept control rate input!

Please make a provision that giving a control rate signal as an input to the EnvDetect class throws an error.

(
SynthDef("help-EnvDetect",{Out.ar(0,

    SinOsc.ar(    [440,440] , 0,  0.3*EnvDetect.ar( LFNoise1.kr(20), MouseX.kr(0.001,0.1,'exponential'),                                                     
                                                                                               MouseY.kr(0.001,0.1,'exponential')     )       ) ) 
}  ).play
)

I did this, and I almost got my ears damaged!!!
A poll gave me this:

{ Poll.kr( Impulse.kr(10), EnvDetect.ar( Saw.kr(30), 0.1, 0.2 ) ) }.play;

UGen(EnvDetect): 0.000122542
UGen(EnvDetect): 2.48154e+26
UGen(EnvDetect): 3.95078e+26
UGen(EnvDetect): 4.82066e+26
UGen(EnvDetect): 5.3357e+26
UGen(EnvDetect): 5.64063e+26
UGen(EnvDetect): 5.82118e+26
UGen(EnvDetect): 5.92808e+26

Some bhob ugens fail in unit test

Migrated from core (original at supercollider/supercollider#887)

a TestFilterUGens:test_time_invariance - NestedAllpassC.ar is time invariant when delayed by 1 sample(s).
16 of 4410 items in array failed to match. Displaying arrays from index of first failure (1587) onwards:
FloatArray[ -0.23038358986378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...etc...
! =
0

a TestFilterUGens:test_time_invariance - NestedAllpassC.ar is time invariant when delayed by 64 sample(s).
16 of 4410 items in array failed to match. Displaying arrays from index of first failure (1650) onwards:
FloatArray[ -0.23038358986378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...etc...
! =
0

a TestFilterUGens:test_time_invariance - DoubleNestedAllpassL.ar is time invariant when delayed by 64 sample(s).
175 of 4410 items in array failed to match. Displaying arrays from index of first failure (2006) onwards:
FloatArray[ -9.1525726020336e-07, -2.7474015951157e-06, 3.6619603633881e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...etc...
! =
0

a TestFilterUGens:test_time_invariance - DoubleNestedAllpassC.ar is time invariant when delayed by 1 sample(s).
907 of 4410 items in array failed to match. Displaying arrays from index of first failure (972) onwards:
FloatArray[ 0.050404109060764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...etc...
! =
0

a TestFilterUGens:test_time_invariance - DoubleNestedAllpassC.ar is time invariant when delayed by 64 sample(s).
911 of 4410 items in array failed to match. Displaying arrays from index of first failure (1034) onwards:
FloatArray[ -0.0048005161806941, 0.050404109060764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...etc...
! =
0

a TestFilterUGens:test_time_invariance - Streson.ar is time invariant when delayed by 1 sample(s).
514 of 4410 items in array failed to match. Displaying arrays from index of first failure (132) onwards:
FloatArray[ -5.3718686103821e-06, 6.556510925293e-07, -5.9604644775391e-08, 7.4505805969238e-09, -9.3132257461548e-10, 1.1641532182693e-10, -1.4551915228367e-11, 1.3642420526594e-12, -1.7053025658242e-13, 1.4210854715202e-14, -1.7763568394003e-15, 2.2204460492503e-16, -2.7755575615629e-17, 2.6020852139652e-18, -3.2526065174565e-19, 4.0657581468206e-20, -5.0821976835258e-21, 6.3527471044073e-22, -7.9409338805091e-23, 8.2718061255303e-24, -8.2718061255303e-25, 1.0339757656913e-25, -9.6935228033558e-27, 1.2116...etc...
! =
0

Licensing question: ATK

Hi,

packaging sc3-plugins for Debian is chugging along.

Now, we need to clarify all licensing issues, hooray!

There is an unclear section in the ATK Readme file:

The filter kernels distributed with the Ambisonic Toolkit are licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License and are copyright the Ambisonic Toolkit Community and Joseph Anderson, 2011.

However, I am not sure how to interpret this, since I did not find filter kernels distributed within the sc3-plugins git tree, only code to read and convert soundfield kernel files in sc/Classes/. Is this a copied boilerplate license from the original ATK that doesn't fully apply to the UGen plugin?

Please advise. Thanks.

Requesting new release: 3.7.0-alpha1 piano is out of tune, git head is ok.

Hi there.

The sc3 plugins are being used by Sonic Pi, thanks guys.

m = [
  chord(:A3, :minor),
  chord(:F3, :major),
  chord(:C3, :major),
  chord(:G3, :major)
].ring

live_loop :chords do
  c = m.tick
  use_synth :beep
  play_pattern_timed c, 0.125, release: 0.5
  use_synth :piano
  play_pattern_timed c, 0.125, release: 1
  sleep 1-6*0.125
end

The current sc3 plugins v3.7.0-alpha1 release contains a piano that is out of tune. Here is an example audio file.

When using the current version in git, it's ok, example audio file.

Since a few people are self-compiling the sc3 plugins for their system, it would be beneficial if you could push a 3.7.0-alpha2 release. Thanks!

BhobUGens seem not to build with latest XCode (Apple LLVM 51.1/clang 503)

I get this error:

Scanning dependencies of target BhobFilt
[ 11%] Building CXX object source/CMakeFiles/BhobFilt.dir/BhobUGens/BhobFilt.cpp.o
Stack dump:
0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -cc1 -triple x86_64-apple-macosx10.8.0 -emit-obj -disable-free -disable-llvm-verifier -main-file-name BhobFilt.cpp -mrelocation-model pic -pic-level 2 -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 236.3 -coverage-file /Users/rainer/Projects/sc3-plugins/build/source/CMakeFiles/BhobFilt.dir/BhobUGens/BhobFilt.cpp.o -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -D BhobFilt_EXPORTS -D NOVA_SIMD -D NDEBUG -I /Users/rainer/Projects/sc3-plugins/source/libs/nova-simd -I /Users/rainer/Projects/supercollider/source/external_libraries/nova-tt -I /Users/rainer/Projects/supercollider/source/external_libraries/boost -I /Users/rainer/Projects/supercollider/source/external_libraries/boost_lockfree -I /Users/rainer/Projects/supercollider/source/external_libraries/boost-lockfree -I /Users/rainer/Projects/sc3-plugins/source/include -I /Users/rainer/Projects/sc3-plugins/source/source/scfft_old -I /Users/rainer/Projects/supercollider/source/common -I /Users/rainer/Projects/supercollider/source/plugin_interface -I /Users/rainer/Projects/supercollider/source/include/plugin_interface -I /Users/rainer/Projects/supercollider/source/include/common -I /Users/rainer/Projects/supercollider/source/server/plugins -I /Users/rainer/Projects/supercollider/source/common/Headers/plugin_interface -I /Users/rainer/Projects/supercollider/source/common/Headers/common -I /Users/rainer/Projects/supercollider/source/common/Source/plugins -I /Users/rainer/Projects/supercollider/source/external_libraries/libsndfile -I /Users/rainer/Projects/sc3-plugins/source/source/DEINDUGens/include -I /Users/rainer/Projects/sc3-plugins/source/source/StkUGens/stk-4.4.2 -I /Users/rainer/Projects/sc3-plugins/source/source/StkUGens/stk-4.4.2/include -I /Users/rainer/Projects/sc3-plugins/source/source/StkUGens/stk-4.4.2/src/include -I /Users/rainer/Projects/sc3-plugins/source/source/AYUGens/AY_libayemu/include -O3 -fdeprecated-macro -fdebug-compilation-dir /Users/rainer/Projects/sc3-plugins/build/source -ferror-limit 19 -fmessage-length 166 -fvisibility hidden -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.8.0 -fencode-extended-block-signature -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops -vectorize-slp -o CMakeFiles/BhobFilt.dir/BhobUGens/BhobFilt.cpp.o -x c++ /Users/rainer/Projects/sc3-plugins/source/source/BhobUGens/BhobFilt.cpp

  1. parser at end of file
  2. Per-module optimization passes
  3. Running pass 'CallGraph Pass Manager' on module '/Users/rainer/Projects/sc3-plugins/source/source/BhobUGens/BhobFilt.cpp'.
  4. Running pass 'SLP Vectorizer' on function '@MultiFilt_next_kk'
    clang: error: unable to execute command: Segmentation fault: 11
    clang: error: clang frontend command failed due to signal (use -v to see invocation)
    Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
    Target: x86_64-apple-darwin13.3.0
    Thread model: posix
    clang: note: diagnostic msg: PLEASE submit a bug report to http://developer.apple.com/bugreporter/ and include the crash backtrace, preprocessed source, and associated run script.
    clang: note: diagnostic msg:

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /var/folders/_g/_dwznr9970dg4blsgq42fbtc0000gn/T/BhobFilt-807c40.cpp
clang: note: diagnostic msg: /var/folders/_g/_dwznr9970dg4blsgq42fbtc0000gn/T/BhobFilt-807c40.sh
clang: note: diagnostic msg:


make[2]: *** [source/CMakeFiles/BhobFilt.dir/BhobUGens/BhobFilt.cpp.o] Error 254
make[1]: *** [source/CMakeFiles/BhobFilt.dir/all] Error 2
make: *** [all] Error 2

Licensing question: DEINDUGens

Hi,

the DEINDUGens has a minor licensing issue. The original code is

// author: "Julian Parker"
// license: "none"
// copyright: "(c) Julian Parker 2013"

yet the faust code generator (?) added a GPL-2+ license to it.

I suspect that this is also what Julian wanted, but just to clarify and to appease the licensing demons at Debian, it would be helpful if the license-entry could be clarified to be GPL-2+.

Documentation in wrong categories?

It seems for a lot of the extensions the documentation is not categorized according to the hierarchy set up by the base SC distribution.

For example, a lot of the base distribution generator UGens are in UGens > Generators, eg: UGens > Generators > PhysicalModels.

However a whole bunch of the extensions place their help files into UGens > PhysicalModels. This makes it harder to browse the help system when looking for UGens in a particular class, or other UGens similar to one the user already knows. I feel like they should be consolidated in to either location.

build failed

I'm trying to install this on Arch Linux. I have SC 3.7.1 installed from git (supercollider-git). But when I try to install the plugins I get the following error (truncated).

[ 17%] Building CXX object source/CMakeFiles/OteyPianoUGens_supernova.dir/OteyPianoUGens/OteyPiano.cpp.o In file included from /tmp/pacaurtmp-dabrowsa/sc3-plugins-git/src/sc3-plugins/source/OteyPianoUGens/dwgs.h:8:0, from /tmp/pacaurtmp-dabrowsa/sc3-plugins-git/src/sc3-plugins/source/OteyPianoUGens/piano.h:8, from /tmp/pacaurtmp-dabrowsa/sc3-plugins-git/src/sc3-plugins/source/OteyPianoUGens/OteyPiano.cpp:7: /tmp/pacaurtmp-dabrowsa/sc3-plugins-git/src/sc3-plugins/source/OteyPianoUGens/../DWGUGens/dwglib/DWG.hpp: In member function ‘void TUBE::set_area(float, float)’: /tmp/pacaurtmp-dabrowsa/sc3-plugins-git/src/sc3-plugins/source/OteyPianoUGens/../DWGUGens/dwglib/DWG.hpp:1271:53: error: no matching function for call to ‘min(float, double)’ loss = 1.0 - std::min(lossF/sqrt(a1),1.0);

source/DWGUGens/dwglib/DWG.hpp fail to build with GCC 6

The source fail to build in Debian after Debian switched to GCC 6 as the default C++ compiler. See https://bugs.debian.org/831078 for details.

The problem is that this expression no longer work in source/DWGUGens/dwglib/DWG.hpp:

float loss;
...
void set_area(float a1,float lossF)
    {
        if(a1 < 1e-18)
            loss = 0.0;
        else
            loss = 1.0 - std::min(lossF/sqrt(static_cast<double>(a1)),1.0);

    }

I believe the cause is that the compiler now pick the function float sqrt(float) instead of the function double sqrt(double). There are two ways to solve the build problem, and I am unsure which one is the best. Either replace 1.0 with 1.0f to use float everywhere in the calculations, or cast a1 using static_cast(double>(a1) to tell the compiler to use doubles everywhere. I assume the former calculation is slightly quicker, while the latter is more accurate.

Do you have an opinion on how this should be solved? How important is the accuracy of the calculation?

LADSPA: ladspalist utility crashes on certain plugins

LADSPA.listPlugins is supposed to print out all the plug-ins that are installed, with their inputs and outputs. A custom binary, ladspalist, is supposed to handle this, but it seems to choke on some plug-ins. When I boot the server, I see "Found 140 LADSPA plugins" but LADSPA.listPlugins shows only two:

LADSPA
#1913 Fast Lookahead limiter
> k: Input gain (dB) (-20 to 20)
> k: Limit (dB) (-20 to 0)
> k: Release time (s) (0.01 to 2)
< k: Attenuation (dB) (0 to 70)
> a: Input 1
> a: Input 2
< a: Output 1
< a: Output 2
< k: latency

#1905 VyNil (Vinyl Effect)
> k: Year (1900 to 1990)
> k: RPM (33 to 78)
> k: Surface warping (0 to 1)
> k: Crackle (0 to 1)
> k: Wear (0 to 1)
> a: Input L
> a: Input R
< a: Output L
< a: Output R

RESULT = 134

I made a debug build and ran it in gdb. This tells me that TAP Reflector[1] is the problem, and there's a bad pointer.

*** glibc detected *** /usr/local/share/SuperCollider/Extensions/SC3plugins/LadspaUGen/ladspalist: free(): invalid pointer: 0x00007ffff79ca778 ***

(gdb) where
#0  0x00007ffff76480d5 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff764b83b in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff768604e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff7690846 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007ffff740f957 in delete_descriptor ()
   from /usr/lib/ladspa/tap_reflector.so
#5  0x00007ffff7dee70e in ?? () from /lib64/ld-linux-x86-64.so.2
#6  0x00007ffff7ded3b4 in ?? () from /lib64/ld-linux-x86-64.so.2
#7  0x00007ffff79d1f26 in ?? () from /lib/x86_64-linux-gnu/libdl.so.2
#8  0x00007ffff7de9176 in ?? () from /lib64/ld-linux-x86-64.so.2
#9  0x00007ffff79d252f in ?? () from /lib/x86_64-linux-gnu/libdl.so.2
#10 0x00007ffff79d1fc1 in dlopen () from /lib/x86_64-linux-gnu/libdl.so.2
#11 0x0000000000400fd9 in LADSPADirectoryPluginSearch (
    pcDirectory=0x603030 "/usr/lib/ladspa", 
    fCallbackFunction=0x400c1c <describePluginLibrary>)
    at /home/dlm/share/sc3-plugins/source/LadspaUGen/search.c:65
#12 0x000000000040113d in LADSPAPluginSearch (
    fCallbackFunction=0x400c1c <describePluginLibrary>)
    at /home/dlm/share/sc3-plugins/source/LadspaUGen/search.c:120
#13 0x0000000000400e99 in main (iArgc=1, ppcArgv=0x7fffffffe058)
    at /home/dlm/share/sc3-plugins/source/LadspaUGen/ladspalist.c:54

Ubuntu 12.04, TAP plugins come from the standard package repository (v. 0.7.1-2fakesync1).

[1] http://tap-plugins.sourceforge.net/ladspa/reflector.html

GVerb glitch

compare:


{GVerb.ar(Dust.ar(5), SinOsc.kr(0.3, 0.5pi).range(10, 14), drylevel:0)}.play

{GVerb.ar(Dust.ar(5), SinOsc.kr(0.3).range(10, 14), drylevel:0)}.play

The second has a major glitch, while the first is perfectly smooth.

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.