Skip to content

Latest commit

 

History

History
1531 lines (1233 loc) · 122 KB

CHANGELOG.md

File metadata and controls

1531 lines (1233 loc) · 122 KB

Change Log

3.9.2 (2018-03-23)

Contributors to this release: adcxyz, brianlheim, davidgranstrom, jamshark70, patrickdupuis, snappizz, telephon, vivid-synth

General: Fixed

Improvements to various documentation pages (#3587, #3526)

Fixed CMake configuration errors that prevented successfully building on Windows when the project path contains spaces (#3525).

UGens: Fixed

Fixed PSinGrain growing in amplitude after it was supposed to finish (#3494).

sclang: Fixed

sclang now creates a configuration directory on startup, rather than waiting for it to be created by another action. This step is skipped if sclang is run as a standalone (-a) or if a language config file is specified with the -l option (#3577).

SequenceableCollection:unixCmd now allows respects PATH instead of strictly requiring the executable path (#3501).

Class library: Added

A new method, Platform:killProcessByID, was added (#3499).

Class library: Changed

LanguageConfig:store throws an error if it fails to write (#3577).

Class library: Fixed

Fixed an off-by-one error in a warning message for Server:clientID_ (#3487).

Event:isRest now returns true if the event's \isRest entry is true. This usage was backported from 3.8 and is deprecated (#3521).

Server now tries to recover in the case of a lost connection between client and server (#3486).

Fixed an error when producing a Score containing an Event with a multichannel timingOffset (#3544).

IDE & SCDoc: Fixed

The help browser table of contents popout no longer has redundant "table of contents" text (#3576).

3.9.1 (2018-02-05)

Contributors to this release: antonhornquist, aspiers, brianlheim, cappelnord, florian-grond, gusano, jamshark70, patrickdupuis, redFrik, shimpe, telephon

General: Added

Introduced Guard integration that allows sclang UnitTests to be automatically rerun whenever a file changes (#3369).

Bleeding-edge builds are now uploaded for Windows. See the Windows README for details (#3441).

General: Fixed

Debugging information is improved when building a Windows installer package (#3464).

scsynth and supernova: Fixed

supernova only looked for plugins in a plugins/ subfolder of the provided extensions directory. This has been fixed to be consistent with scsynth (#3433).

UGens: Fixed

Fixed Index, IndexL, FoldIndex, WrapIndex, IndexInBetween, and DetectIndex incorrectly downsampling audio-rate index arguments (#3436).

sclang: Fixed

The GUI class library folders were installed even when building sclang without Qt, resulting in unbound primitives. This has been fixed (#3456).

Some default class library directories had to be manually created. sclang will now create them for you if they don't exist (#3469).

Class library: Fixed

Fixed a Routine not being properly terminated when running CmdPeriod.run (or hitting an equivalent shortcut) when a Server:plotTree window is open (#3423).

Fixed LevelIndicator:style_ doing nothing and printing the warning Qt: WARNING: Do not know how to use an instance of class 'Meta_QLevelIndicatorStyle' (#3398).

Fixed Git.checkForGit returning nil (#3445).

The SynthDef compiler optimizes a + b.neg to a - b, but other UGens that depend on b.neg would also be incorrectly removed in some cases. This has been fixed (#3437).

In 3.9.0, the group key broke in the "grain" event type. This has been fixed (#3483).

IDE & SCDoc: Added

New IDE themes have been introduced for the editor and post window: Solarized, Solarized Dark, and Dracula (#3412, #3410).

IDE & SCDoc: Changed

Set the default font in the IDE for macOS to Monaco, instead of the rather silly non-monospace font that has been the SC default for over a decade (#3404).

IDE & SCDoc: Fixed

Fixed duplicate SCIDE icons in GNOME, and fixed the SCIDE icon looking wrong (#3380).

Fixed SCDoc breaking with page titles containing a single quote character (#3301).

Fixed an error due to lack of input sanitization when trying to open help (Cmd+D/Ctrl+D) or references (Cmd+U/Ctrl+U) on text containing a double quote character (#3277).

3.9.0 (2018-01-13)

We are proud to announce the arrival of SuperCollider 3.9.0! Apologies for being so far behind schedule; we hope the improvements you'll find here will more than make up for it. In 3.9.0, determined contributors have fixed some of SuperCollider's major cross-platform compatibility demons, addressed longstanding issues in the IDE and language, and added new features and bugfixes across the board.

Many thanks to all who contributed to this release: adcxyz, awson, bagong, brianlheim, cappelnord, carlocapocasa, crucialfelix, danstowell, defaultxr, dyfer, elifieldsteel, gagnonlg, ghost, gusano, jamshark70, jd-m, jleben, jmckernon, joshpar, jreus, LFSaw, llloret, LucaDanieli, Magicking, miguel-negrao, muellmusik, patrickdupuis, porres, privong, redFrik, samaaron, scztt, simdax, smoge, smrg-lm, snappizz, telephon, thormagnusson, tiagomoraismorgado88, timsutton, vivid-synth, vividsnow, yurivict, and many more in the SC community who helped in ways other than participation on GitHub.

Known Issues

The IDE server status display turns yellow after a few seconds when opening s.makeGui. This does not cause any usability issues (#3310).

Only the first pages of the HTML files produced by SCDoc are printed in web browsers (#3395).

The help browser does not remember the last position open in a document when navigating through history, and just jumps to the top of the file (#3396).

Supernova loads plugins from "Extensions/plugins" rather than "Extensions" (#3391).

LevelIndicator.style() is broken, which leads to confusing warning messages (#3398).

File.copy crashes the interpreter if the destination file exists (#3401).

On Windows, SerialPort is not available (#1008).

On Windows, Supernova is not available.

On Windows, the command-line sclang interpreter is not available.

General: Added

scvim has seen numerous enhancements now that an actively maintained fork has been merged in (scvim #11).

SuperCollider can now be built on Windows using the MSYS2 toolchain, thanks in particular to @awson and @bagong. (PortAudio #1, HIDAPI #5, #2473, #2704)

SuperCollider can now be built on FreeBSD, thanks to @shamazmazum and @yurivict (#2834, #2704, HIDAPI #8, #3131).

Detailed documentation on creating macOS standalone applications with SuperCollider has been added, thanks to @adcxyz (#2881).

Support for multiple sclang clients connecting to the same server is greatly improved, thanks to @adcxyz.

A CODE_OF_CONDUCT.md and CONTRIBUTING.md have been added to the repository (#3001).

Higher-resolution raster versions of the SC cube logo have been added to the top-level icons/ directory (#3023), and a retina-friendly .icns file (#3060).

General: Changed

Breaking change: sc_gcd in the plugin interface now conforms to gcd(n, 0) == n instead of gcd(n, 0) == abs(n) (#2980). This also affects the method SimpleNumber:gcd.

The macOS plist file now shows the full version number for both the Version String and Shortened Version String (#2487).

General: Fixed

A typo in the build system prevented the -msse compiler flag from being properly set for gcc and clang (#2623). This may fix subnormal number issues in scsynth that some users have been experiencing.

Fixed a fontification break in scel when too many classes are defined (#2508).

Fixed build failures on FreeBSD (#3126), GCC 7 (#3226), and newer versions of Boost (#3227).

scsynth and supernova: Added

scsynth and supernova now support a /version command, which responds with a message of the form /version.reply program major minor patch branch commit (#2546, #2598). See the Server Command Reference for full details.

scsynth and supernova: Changed

On macOS, if scsynth's input and output devices have mismatched sample rates, an error is thrown and the server does not boot. Setting the number of input channels to 0 (-i 0 on the command line and s.options.numInputBusChannels = 0 in sclang) now bypasses this error (#2610).

Disabled Nagle's algorithm for TCP communication in scsynth (#2613). Nagle's algorithm increases bandwidth at the cost of delay, which is undesirable in the context of SuperCollider. Both supernova and sclang have it turned off.

scsynth and supernova: Fixed

The /b_read and /b_readChannel messages experienced intermittent failures to read sound files, most notably affecting Buffer.cueSoundFile. This has been fixed (#2793).

UGens: Added

A new UGen, Sanitize, replaces infinities, NaNs, and subnormals with another signal, zero by default (#2561).

The doneAction argument to DetectSilence can now be modulated (#2379).

UnaryOpUGen now supports the bitwise not operator bitNot (#2381). It used to simply fail silently.

UGens: Changed

Breaking change: The application binary interface (ABI) for server plugins has changed (#3129). This has an important impact: plugin binaries compiled for SuperCollider 3.8 will not work with SuperCollider 3.9 and vice versa. Please recompile your plugins.

Breaking change: FOS.ar with control-rate coefficient inputs incorrectly initialized its coefficients at 0 and ramped to the correct values over the first control period. This has been fixed (#2658). To restore old behavior, multiply each coefficient by Line.ar(0, 1, ControlDur.ir).

UGens: Deprecated

Donce, a demand-rate UGen with no identifiable purpose, is deprecated (#2564). It was most likely used in the production of electronic donce music.

UGens: Fixed

A number of UGens were discovered to have serious initialization bugs (#2333) where the UGen would output an initial sample of garbage memory. This can create audio explosions if the buggy UGen's output is fed into certain filter UGens like LPF or Delay1. These bugs have been fixed, affecting:

  • BeatTrack
  • BeatTrack2
  • CoinGate
  • Convolution
  • Convolution2
  • Convolution2L
  • Convolution3
  • DetectSilence
  • DiskIn
  • DiskOut
  • IFFT
  • KeyTrack
  • LFGauss
  • PartConv
  • PV_JensenAndersen
  • PV_HainsworthFoote
  • RunningSum
  • StereoConvolution2L
  • Unpack1FFT

Fixed a bug with TGrains ignoring the amp parameter (#2809).

Dibrown no longer ignores the length argument (#2654).

Pitch no longer ignores the median argument (#2953).

Fixed a build error in DiskIOUGens on Windows (#3015).

Fixed AudioControl outputting garbage data if a bus is mapped to it but nothing is playing to the bus (#3063).

Fixed incorrect math in PanAz.ar with audio-rate input signal and position (3139).

sclang: Added

Regression tests for the sclang lexer, parser, and compiler have been added (#2751). This will make it easier to make fixes to these components in the future.

sclang: Changed

Breaking change: sclang's nestable multiline comments had some mistakes. In particular, sometimes sclang's lexer would incorrectly process overlapping combinations of /* and */, so e.g. */*/ would be interpreted like */ /* */. This has been fixed (#2625).

The maximum number of MIDI ports has been increased from 16 to 128 (#2494).

The startup post "NumPrimitives = #" is reworded to "Found # primitives" (#3139).

sclang: Removed

Removed some unhelpful memory addresses from call stack output in error printing (#2951).

Removed some accidentally retained debug posts when the language starts up (#3135).

sclang: Fixed

Fixed help files failing to open on Windows if the user's name contains a non-ASCII character (#2861).

Fixed non-ASCII characters breaking the Visual Studio debugger (#2861).

Fixed a crash in Object:perform when the selector is an Array whose first element is not a Symbol, e.g. 0.perform([0]) (#2617).

thisProcess.nowExecutingPath is no longer corrupted by Routine:stop (#2620).

TextView:selectedString_ now works when the selection size is zero (#2648).

Fixed a crash when a method or class/instance variable is named "none" (#2638).

Exceptions occurring in primitives no longer print unavoidable error messages even when wrapped in try-catch (#2876).

Fixed a crash when Dictionary:keysValuesArrayDo is called with nil as an argument (#2799).

Fixed WebView:onLinkActivated handler failing to fire (#3003).

Fixed GUI objects failing to display when launched from the action of unixCmd (#3009). You will still need { }.defer, however.

Fixed QImage:getColor always returning zero for the green channel (#3190).

Class library: Added

The UnitTest quark has been incorporated into the main repository (#3168).

Added a rewind method to CollStream (#2400).

Added four new class methods to File for convenience: readAllString, readAllSignal, readAllStringHTML, readAllStringRTF (#2410).

Pstep accepts an array as a duration argument (#2511).

Help files originating from extensions now display a plaque for visibility (#2449).

For consistency with other Platform class methods, Platform.recordingsDir may be used instead of thisProcess.platform.recordingsDir (#2877).

SequenceableCollection has two new instance methods: flatten2 and flatBelow (#2527). Additionally, flatten is faster now.

The ~callback function is now available for all Event types instead of just "on" events (#2376).

Event types now include a parentEvent, which provides default values. (#3021).

New aliases for done actions, e.g. Done.freeSelf == 2, are introduced for better readability (#2616). See the Done helpfile for details.

A new class, Recorder, allows recording independently of the Server object (#2422).

SequenceableCollection:reduce supports an adverb argument (#2863).

A recordingsDir method has been added directly to Platform, which transparently calls thisProcess.platform.recordingsDir (#2877).

View:-resizeToBounds, View:-resizeToHint, and Window:-resizeToHint were added to make it easier to force Views and Windows to automatically resize (#2865).

Maybe now supports collection methods at, atAll, put, putAll, add, addAll (#2437).

BusPlug:-play can now accept a Bus object (#2845).

Breadcrumb links in helpfiles now have separate links for each node in the hierarchy, and pages with multiple categories have separators between the categories (#2916).

SoundFile:*openWrite now takes additional parameters (#2926).

Two new instance methods were added to Symbol: isBinaryOp and isIdentifier (#2955).

Added three convenience methods: View:resizeToBounds, View:resizeToHint, and Window:resizeToHint (#2865).

Added Collection:asEvent for easy conversion to an Event (#2871).

DeprecatedError now shows you the file path of the deprecated method (#3039).

Added two new methods to SimpleNumber: snap and softRound (#3160).

ReadableNodeIDAllocator offers a new optional replacement for PowerOfTwoAllocator that assigns node IDs in a way more readable to humans when working with multiclient setups (#3179).

A new "booted" stage has been added to Server objects that have been booted but may not be running yet, accessible via Server:hasBooted and Server.allBootedServers (#3275).

Class library: Changed

Breaking change: Rests in the patterns system have been restructured (#2802). Instead of using the isRest event property, events are considered rests if one of their properties is a Rest object. You must use instances of Rest rather than the rest class itself -- use of Rest instead of Rest() is now deprecated.

Breaking change: Fixed Dictionary:== only comparing the values of the two dictionaries, not the keys (#2737).

Breaking change: Fixed a mistake where Pen.quadCurveTo used the primitive for a cubic Bézier instead of quadratic (#2553). To restore the old behavior, change Pen.quadCurveTo to Pen.curveTo.

Breaking change: The convenience instance methods Env:kr and Env:ar had the arguments mul and add renamed to levelScale and levelBias, since they don't behave like typical mul and add arguments (#2866).

Collection:processRest returns the processed collection rather than the original (#2497).

The maximum number of MIDI ports has been increased (#2494).

Attempting to use a control-rate signal as an input to Hasher.ar now results in an error (#2589).

The "Cleaning up temp synthdefs..." post message is suppressed if there is nothing to clean up (#2629).

To match Out and ReplaceOut, LocalOut and XOut now correctly validate their input, checking for a non-zero number of channels (#2659, #2659).

The argument to Pattern:fin has a default of 1 for consistency with Object:fin (#2480).

Complex:reciprocal is faster now (#2890).

Buffer:write takes floating point arguments, truncating them to integers (#2547).

Conversion methods among collection types has been improved and documented (#2871).

clientID is now protected from being changed while the server is running (#3275).

Class library: Deprecated

OSCresponder, OSCresponderNode, and OSCpathResponder now emit deprecation messages, and will be removed after at least a year (#2870). Use OSCFunc or OSCdef instead.

Speech is deprecated (#2424), and will be removed in 3.10. The rationale is that its audio output is independent of the server (severely limiting use in compositions), it depends on a proprietary macOS API with no prospect of cross-platform compatibility, and it is too niche to justify inclusion in the core library.

The WiiMote classes (WiiMote, WiiMoteIRObject, WiiCalibrationInfo, WiiMoteGUI, WiiRemoteGUI, WiiNunchukGUI) are deprecated (#2698). They never reached a stable state and have gone unmaintained and unused for years.

AudioIn is deprecated and will be removed in some future version (#2482). It was provided only for backward compatibility with SC2, so its deprecation is long overdue. Use SoundIn instead.

SplayZ has been deprecated for a long time, but it's finally on the "official" deprecation track and will be removed in 3.10 (#2631). Use SplayAz instead.

TDuty_old has been deprecated for a long time, but it now emits a warning and will be removed in 3.10 (#2677). Use TDuty instead.

Watcher is an old alias for SkipJack provided for backward compatibility. It is officially deprecated and will be removed in 3.10 (#2700).

Server:recordNode is deprecated. Use Recorder:recordNode instead (e.g. s.recorder.recordNode) (#2422).

The Server.set class variable is deprecated. Use Server.all instead (#2422).

SimpleNumber:quantize is deprecated. Use SimpleNumber:snap instead (#3160).

Server:userSpecifiedClientID is deprecated. Use Server:clientID instead (#3275).

Class library: Removed

Removed non-functional stub methods and classes related to Image: the classes ImageFilter and ImageKernel, and the Image instance methods lockFocus, unlockFocus, applyFilters, filters, filteredWith, addFilter, removeFilter, flatten, invert, crop, applyKernel (#2867).

Module, an unmaintained and unused class for serialization of Synths, has been moved to a quark (#2703).

Removed the openHelpFile instance methods of Object, String, Method, and Quark. These methods have been deprecated since 3.8.

Removed String:openTextFile and Symbol:openTextFile. Use String:openDocument and Symbol:openTextFile instead. These methods have been deprecated since 3.8.

Class library: Fixed

A number of instance methods in Buffer and Bus did not properly check to see if the object has already been freed, and would act on buffer #0 or bus #0 (which is especially dangerous for the free instance method). They now safeguard against this case and throw errors (#2936, #2960, #2993).

The useRanger option in EnvirGui broke in 3.7. This has been fixed (#2418).

IdentityDictionary methods collect, select, and reject retain references to the parent and proto objects (#2507).

On Linux, some MIDI methods created method override warnings. These have been silenced (#2717).

The "key" argument to Pn was not properly set on the first repeat. This has been fixed (#2833).

Fixed errors when using a DragSource inside a CompositeView object (#2804).

Fixed an interpreter crash when defining a SynthDef whose name is too long (#2821). More specifically, the inputs to UnixFILE:putPascalString and CollStream:putPascalString are now validated.

Server crashes are better handled by the interpreter (#2453).

The time display and the "start recording", "pause recording", and "stop recording" menu items now cooperate better with running Server:record, Server:pauseRecording, and Server:stopRecording (#2422).

Server:makeGui and Server:makeWindow broke in 3.8 — the fields in the windows went blank. They are working again (#2422).

A timing error with NodeProxy:-clear was fixed (#2845).

SoundFileView correctly displays its grid and does not draw the grid on top of the selection box (#2872).

The macOS plist file now shows the full version number for both the Version String and Shortened Version String (#2487).

Fixed instances of accidentally silencing error messages caused by neglecting to call Object:primitiveFailed (#2908).

Patched the possibility of inconsistent TempoClock state when the tempo is set via setTempoAtSec (#2078).

Fixed memory spikes when using MIDIFunc.sysex with a large srcID (#3005).

Fixed spaces sometimes being rendered as %20 in links in SCDoc (#3033).

Fixed Function:plot showing an empty graph if the server wasn't booted when the method was invoked (#3047).

Fixed blatant errors in Collection:asAssociations and Collection:asPairs where elements were dropped (#3101).

Fixed bugs in NodeProxy when using external servers (#3103).

History now outputs a correct timestamp on Windows (#3045).

Fixed Volume control failing to be persistent when rebooting the server (#3125).

Fixed SimpleNumber:asTimeString producing nonsensical results with the "precision" argument (#3166).

Server:clientID can now be changed, allowing multiple clients connect to the same server (#3178).

History and HistoryGui have been cleaned up (#3267).

Fixed duplicate node IDs involving Server.initTree (#3265).

Fixed supernova crashing when too many controls are used (#3196).

Volume now respects lag time when it is instantiated or destroyed (#3332).

IDE & SCDoc: Added

Entries in the Documents docklet can be reordered, and document tabs will automatically reorder to reflect this (#2555).

"Edit > Preferences > Editor > Display" has a new option that allows replacing tabs with a dropdown whose items are alphabetically ordered (#2555). This makes navigation easier in some performance contexts.

IDE & SCDoc: Changed

Server actions, which were previously in the "Language" menu, have been moved out to their own "Server" menu (#3049).

Changed "occurrences" to "matches" in the status bar in the Find and Replace features (#2702).

Many minor improvements were made to the look and feel of the documentation (#2944, #2945, #2947, #2948, #2967, #3006, #3022, #3025, #3034, #3175, #3346).

IDE & SCDoc: Fixed

Fixed SCDoc refusing to index any further documents if one document has a malformed copymethod:: command (#3050).

Some Linux systems had unreadable font colors in the autocomplete tooltips. This has been (finally) fixed (#2672).

Fixed a bug where Document:selectedString_ had no effect (#2849).

New tabs are now inserted to the right of the current tab instead of all the way at the end (#3053).

The help browser now has keyboard shortcuts for navigating back and forward (#3056). These shortcuts are OS-dependent and given to us by Qt.

Fixed the "Find in page..." feature in the help viewer skipping every other occurrence (#2903).

Fixed HTML checkboxes appearing in the upper left of the help viewer (#3028).

Fixed the right-click menu for the tabs appearing in the wrong place in macOS (#3042).

3.8.0 (2016-09-23)

Full Changelog

API change

  • Increase the default number of audio buses from 128 to 1024 #2239 by vivid-synth
  • server plugins: Unify panning behavior of granular ugens #2136 by snappizz
  • scsynth: commandline option (-B) to bind to specific address #2095 by llloret
  • PathName has potentially superfluous methods #1909 by telephon
  • class library: sound file view - rename argument startframe -> startFrame to match convention #1684 by telephon

comp: scsynth

comp: server plugins

comp: supernova

comp: sclang

comp: class library

comp: help

comp: HID

  • Update pointer to submodule hidapi #2420 by bagong
  • Adjust pointer to hidapi to fix cmp0048 bug breaking build for cmake … #2342 by bagong
  • Update pointer to hidapi submodule #2330 by bagong
  • HID: various small additions to adjust to developments in hid submodule #2123 by bagong
  • Switch to hidapi subomodule in sc org repo #2111 by bagong

comp: Qt GUI

comp: SCDoc

  • Adjust Help title for Windows return value of folder #2392 by bagong
  • fix link to class file source in scdoc header #2131 by snappizz
  • Change "source" to "helpfile source" in scdoc footer #2130 by snappizz
  • SCDoc HTML renderer includes literal spaces in links with anchors #1650 by jamshark70
  • SCDoc shows getters where there are only setters #837 by muellmusik

comp: build

  • Document cmake dependency for supernova #2207 by snappizz
  • Explain /path/to/qt5 in Linux README #2205 by snappizz
  • move jackey include dir from server to scsynth #2179 by flv0
  • Fix oscpack build fail on various architectures #2174 by danstowell
  • Simplify MS Compiler detection to avoid cmake warning #2120 by bagong
  • Travis: Update OSX build system and correct omissions #2092 by bagong
  • sclang: changed some boost code to std #2091 by llloret
  • Switch to portaudio repo in supercollider org #2088 by bagong
  • travis: move git key to env, aws fixes #1987 by scztt
  • Set correct hash for portaudio submodule #1971 by bagong
  • cmake: library locations, hide them from the default listing of user cmake variables #1968 by danstowell
  • Add cmake options list to READMEs #1965 by vivid-synth
  • Update linux travis recipe #1932 by patrickdupuis
  • build: bump GCC version requirement up from 4.7 to 4.8 #1839 by danstowell
  • Building master with gcc 4.7 fails due to 'is_trivially_destructible' in SC_PlugIn.hpp #1820 by danstowell

env: Qt IDE

env: scel

env: scvim

os: Linux

  • Do not allocate all channels reported by Pa_GetDeviceInfo / use memcpy instead of for-loop #1943 by hzulla
  • Fixes/alsa midi fixes #1760 by timblechmann
  • HID final cleanup, and LID adaption to use similar API #1573 by sensestage

os: Windows

  • Fix problem with boost interprocess module on Win #2457 by llloret
  • Update Windows Readme #2419 by bagong
  • Exception in World_New: boost::interprocess::intermodule_singleton initialization failed #2409 by brachna
  • Fix QLocalSocket problem under Windows #2197 by llloret
  • Windows exit nicely master #2107 by llloret
  • Make MIDI work on Windows (PR for master) #2106 by llloret
  • nsis windows for master branch #2103 by llloret
  • Make Vista the minimum required Windows version #2017 by llloret
  • Make the required version Windows Vista #2016 by llloret
  • sclang: Fix to get Object: render to work on Windows #1899 by antonhornquist
  • Windows: sclang crashes on executing menu-item "Quit interpreter"/freezes on evaluating 0.exit #1578 by bagong
  • Server not shut down on IDE-close #1449 by bagong
  • MIDI sysex is not implemented for Windows (SC_PortMIDI.cpp) #1200 by sensestage

qt5

quarks

architecture: arm

  • Provide compiler flags for armv6l and armv7l and add a few hints for building on RPi and headless #2065 by bagong

bug

enhancement

Miscellaneous

3.7.2 (2016-06-03)

Full Changelog

This patch release fixes the Windows including MIDI. HID is still not quite working on Windows. Many thanks to: @bagong and @llloret

SC VIM is now a git submodule. This affects mainly developers. VIM support can be installed as per the documentation - nothing has changed in how you use it. We changed this in 3.7.2 as well as on master (3.8 development) so that switching back and forth between branches wouldn't be super annoying.

Fixes:

  • Midi not working on Windows #1922
  • Windows: opening SC via system registered document types faulty #2022
  • HIDdef.element forwards arguments incorrectly #2090

Closed Pull Requests

3.7.1 (2016-04-10)

Full Changelog

Enhancements

  • Native FLAC support for scsynth on OS X #1783
  • Libsndfile: have cmake prefer homebrew install over bundled version #1870 (bagong)
  • OS X Readme: note that Qt 5.5 is required, not Qt 5.6 #1931
  • class library: node proxy: improve shape error post #1889 (telephon)
  • Server.schelp: fixed description of scsynth method, changed wording, … #1894 (miczac)

Fixes:

  • Windows build system #1900 (bagong)

  • cmake: fix build when using system boost #1896 (danstowell)

  • Correct accidental msys leftovers in findPortaudio #1941 (bagong)

  • Remove -fstrict-aliasing from the MinGW build to allow using MinGW 4.9.2 #1923 (bagong)

  • Quarks.update("quarkname") does not always update correctly #1895

  • fix #1895 : update Quark by git pull and git checkout master #1954 (crucialfelix)

  • Quarks Windows fixes #1956 (bagong)

  • Errors when closing scope window #1878

3.7.0 (2016-03-13)

Full Changelog

Enhancements

  • New Quarks system using Git #1800
  • Qt GUI: TextView's enterInterpretsSelection treats line wrapping like a hard line break #1637
  • UnitTest missing documentation #1610
  • LinLog function? #1555
  • sclang and scserver use the same icon #1548
  • help: recent changes for 3.7 documentation #1516
  • MIDIFunc does not deal with allNotesOff message #1485
  • Tab does not work in IDE (on OSX) #1453
  • Feature: IDE preference to disable displaying help pages in the autocomplete popup #1435
  • quarks (new) - suggestion - directory.txt use https instead of git protocol. #1397
  • quarks (new) - Add a way to update quarks (git pull or delete folder and clone again) #1386
  • Use reader/writer thread for all disk IO (DiskIn / DiskOut ugens, others if applicable) #1381
  • quarks (new) - canceling git checkout #1376
  • help: News in 3.7 #1347
  • class library: addition of SimpleController::removeAt #1328
  • scsynth ought to print the version number when passed the --version flag #1310
  • UGen to report node ID #1212
  • incomprehenisble error message with Function-play and empty array #1128
  • pattern cleanup shouldn't be passed around #1049
  • README file and windows build instructions #1034
  • Enhance OSX readme for 3.6.6 #1001
  • README_OS_X.txt is overly complex #960
  • "Exception when parsing synthdef: corrupted synthdef" - report which synthdef caused the error. #904
  • "start coding" window title #898
  • Windows: No 64-bit version #853
  • toggle dumpOSC via menu entry #848
  • default file extension missing #838
  • open file dialog: start in last used directory across sessions #805
  • recent files: hide no-longer existent files #804
  • Faint highlighting on the cursor's line #793
  • display volume in server status bar #762
  • mouse wheel volume control (server status bar) #760
  • post message in post window when sclang quits/crashes #743
  • I would like to ask for a ListView.selection_ method. #741
  • Autosave #725
  • NRT message length limit #714
  • problems with PandaboardES and SC #689
  • More obvious access to SCIDE help file #682
  • get rid of jitter for non time stamped bundles #648
  • Popup Index for class file tabs #629
  • semicolon ending block evaluation #627
  • Missing functionality in Qt: QuartzComposer #624
  • Missing functionality in Qt: Checking whether a window is closed #622
  • Missing functionality in Qt: SCMenuItem #617
  • Missing functionality in Qt: SCImage #616
  • Please make ctrl-return behavior configurable WRT execute region #603
  • Command like "Balance Parens" from sc.app #602
  • Soften, or allow customizing, the bracket-mismatch color #599
  • Tab behaviour #593
  • scide - help browser window font should be adjustable #587
  • hide line numbers #585
  • "Start sclang" should be greyed out when language is running #584
  • Double-click on a float doesn't select all of it #581
  • Hitting Cmd/Ctrl while inertial scrolling causes rapid zoom in / out #568
  • find next / previous key binding #555
  • If untitled doc from start has not been used close it when first file is opened #553
  • Undocking widgets and tabs as proper windows #550
  • Move cursor to end of document on down arrow key in last line. #543
  • New method to get complete (multiple) item selection from QListView and QTreeView #535
  • Several items in the preferences can be set to the same shortcut #516
  • language config dialog #515
  • bracket auto-paring #513
  • A few basic issues concerning the replacement of SCApp by SCIDE #511
  • ctrl-click on document icon to open file path #510
  • support for editing plain-text files #495
  • Method Call Assist: Handy way to insert an argument name for keyword addressing #492
  • integrate scdoc into ide #471
  • Class method autocompletion and method signatures of view redirect classes #469
  • (Future) More sophisticated regexp find/replace #464
  • Looking up definition from post window #461
  • Request keyboard shortcut to navigate up/down to the next empty line #453
  • rtf import of (erroneous) weblinks #448
  • Document open/save dialogs: Keyboard shortcut to navigate to the parent folder #445
  • Keyboard shortcut to select a code block enclosed in () #444
  • Dark-on-light color scheme: orange for ~envVars is too bright #442
  • Shortcuts to add and remove /* */ pairs #441
  • Add menu command to save all dirty files #439
  • make post window scrollback configurable #430
  • switch session dialog #429
  • case-insensitive search in `open definition' dialog #428
  • Documentation dock widget #420
  • SC-IDE: Show full path somewhere #413
  • autocompletion for literals and brackets #410
  • insert key should toggle overwrite mode #407
  • Save dialog should provide options for scd and sc #405
  • keyboard shortcut for "clear post window" #404
  • .sc and .scd links in Help should open in scide #402
  • Quick toggle of spaces/tab indentation #400
  • Word wrap #399
  • Show help and definition don't work on post window #398
  • F1 is an awkward keyboard shortcut for help on Macs #397
  • Split pane tabs #396
  • Provide built-in color schemes #387
  • Preview of color settings #386
  • show references to symbol #384
  • drag/drop support for scide #383
  • popup list view to cycle open documents #382
  • scide desktop integration #381
  • key combinations for commenting/uncommenting #380
  • programmatically resize or set a preferences for IDE window placement #376
  • server control widget #372
  • Instance method auto-completion: group offered methods by name #371
  • Method call aid: highlight proper argument when entered "by name" #370
  • Integrate help with auto-completion #368
  • Do not require a keyword to be selected to lookup implementations or help #364
  • Related to 312 and 313: Completion of instance methods by user selection of class #362
  • Option to preserve Poll output w/ lower verbosity #350
  • Support NRT with no output file, for analysis #349
  • [SC-IDE] Document implementation #333
  • [SC-IDE] Make OSX Bundle #331
  • [SC-IDE] Syntax colorize schelp files #330
  • [SC-IDE] Open file by searching for Class or method in a pop up window. #329
  • [SC-IDE] save or discard changes on quit per unsaved document #327
  • [SC-IDE] Update file view if it is updated by another program #326
  • [SC-IDE] Open recent file menu entry. #321
  • [SC-IDE] Open multiple files at the same time #318
  • [SC-IDE] Visual indicator if file is edited or not #317
  • show search-replace results in realtime #316
  • Code completion for Class names with hovering dropdown menu. #314
  • [SC-IDE] Code completion for Class methods with hovering drop-down menu. #313
  • Hovering popup with argument names for class methods #312
  • [SC-IDE] Open definition of method #309
  • postln with prefix and suffix #306
  • .data_ method for QSoundFileView implementation #304
  • Proposal for Helpbrowser layout #300
  • [Cocoa GUI] allowsReselection flag on SCPopUpMenu #299
  • allowsReselection for SC- and Q- listviews and popup menus #298
  • Implement focusGainedAction/focusLostAction for QtGUI #295
  • HTML doc and web standards #294
  • Control over the numeric x-labels in plot2 #293
  • Implement focusGainedAction/focusLostAction for CocoaGUI #291
  • Dwrand doesn't exist #287
  • Send to bus without creating new synths #286
  • BinaryOpUGen optimization needs review #284
  • Convolution UGens should all use SC_fftlib #276
  • Buffer:normalize #275
  • test 2 #274
  • test #273
  • mapping audio buses as synth controls #272
  • Getting sound card list with # of ins/outs from scsynth #271
  • source code #270
  • Post window should have correct window title #269
  • Menu Icon request #268
  • sources tarball #267
  • Windows Port #266
  • Topic/release notes 3 7 0 #1791 (crucialfelix)
  • Topic/select reject indices #1591 (LFSaw)
  • class library: fuzzy equal with relative precision #1587 (telephon)
  • Fix range in Function:plot #1454 (thormagnusson)

Fixed bugs:

  • scel: Directory change of sclang/scsynth in 3.7-beta1 causing error #1860
  • interpreter crashes after server boot when very large scd file is currently open #1823
  • SC_SndBuf.h (in master) can't compile on ARM because uses _mm_pause #1819
  • OS X: scsynth icon bounces forever in the dock #1804
  • supernova compilation error #1794
  • MulAddUGens broken #1793
  • Evaluate commands (Shift-Enter/Return, Ctrl-Enter/Cmd-Return, menus) work not reliably #1786
  • Bad values (nan) from underflow with pow() on Server #1766
  • setProperties fails for plots of signals #1762
  • Quarks: update fail when missing tag or no new version number #1735
  • Quarks.update calls wrong git method #1734
  • Typo / wrong cmake function name in CMakeLists.txt #1705
  • TwoWayIdentityDictionary.asCompileString misses to include key #1699
  • error with soundfileview.schelp #1682
  • Quarks on Windows: isPath regex is wrong #1670
  • Windows File.existsCaseSensitive does not work for directories #1668
  • calling ScIDE prSend from a routine makes the ide unreachable #1657
  • EnvGen \cub produces NaNs #1656
  • Scale.choose throws error #1653
  • d_removed #1648
  • Triggering EnvGen with Impulse.ar crashes the server #1642
  • DetectSilence won't free if it never encounters nonzero value #1639
  • IDE: Colorizer highlights "pi" at the start of a word #1613
  • LanguageConfig-includePaths stack overflow #1604
  • Removing Application Support/SuperCollider causes SCDoc to crash the interpreter #1589
  • supernova tries to set unallocated memory in b_set and b_setn #1588
  • failed to read Quark directory listing #1585
  • Example code in documentation doesn't play for LocalIn function. Missing Out.ar(0,local); #1563
  • OscUGens.cpp omits the required DefineSimpleUnit call for PSinGrain #1556
  • MethodOverride.printAll fails on OSX 10.8 #1538
  • NRT realloc failure #1537
  • useSystemClock breaks the server #1534
  • evaluating code in the help browser evaluates code in the document window instead #1532
  • Installing Quark with an invalid refspec should throw an error #1531
  • FreqScope doesn't work #1527
  • reboot of the internal server crashes interpreter #1526
  • Scroll view issue in Qt -- no vertical scroll bar #1521
  • (regression) Document keyDownActions: discrepancy between global and instance #1512
  • Issues with maximized (fullscreen) Qt windows on OS X #1506
  • WebView auto-closes when used without explicit parent #1505
  • LFPulse UGen gives asymmetrical waveform when duty (width) is 0.5 #1501
  • MIDIdef.mtcQuarterFrame #1496
  • WebView closes after displaying scrollbar #1489
  • MIDIIn.connectAll connects to wrong ports on Linux #1487
  • Sclang client crashes on serial port close from data sender #1479
  • Quarks: memory corruption(s) #1476
  • Windows: New Quarks system: installed Quarks not recognized #1475
  • How to complete unload plugins PR? #1473
  • Quarks: refix the valueing of isCompatible #1463
  • Slider with an increment fires action even when value doesn't change #1460
  • Scsynth zombie when quitting scide #1456
  • IDE Help popup -> crash #1452
  • Quarks windows path error bug #1451
  • Error on interpreter startup #1448
  • Font.defaultMonoFace/.defaultSansFace/.defaultSerifFace return the same value #1447
  • Switching a session causes the IDE to segfault #1430
  • Quarks conflicts with case insensitive file systems #1429
  • Using Function-try inside an ArrayedCollection.do loop corrupts interpreter #1428
  • MIDIFunc.noteOn does not work with floats when Arrays of numbers are passed #1426
  • Sclang keeps crashing on recent build (Win) #1405
  • Preferences/Editor/Fonts&Colors/Color:Current Line: sample text display doesn't update to the color selected in Text #1403
  • icon representation of sclang and scserver: and still jumping #1399
  • Blank help window #1395
  • ERROR: ScIDE not connected #1390
  • scdoc - can't run code from help window. #1385
  • GridLayout spanning bug #1383
  • Server window should use reasonable default record buffer size #1380
  • quarks (new) - installing local quark does not install it's dependencies it only links. #1378
  • quarks (new) - dependencies specified with git url and refspec not working ? #1377
  • Server Gui volume bug (gitreports.com) #1370
  • LanguageConfig.current problems #1369
  • same cubic icon with scide and sclang (OS X) #1367
  • OSX/IDE: default key for "trigger autocomplete" cmd-space conflicts with spotlight #1365
  • IDE: Splits & Tool panels: after closing panel with esc keyboard focus will always move to top left split/pane #1363
  • New Quarks: if sclang_config.yaml doesn't exist prior to install of Quark, include-path is not written #1362
  • Quarks install on Windows fails in parseQuarkName #1346
  • fix travis builds posting to github #1339
  • DiskIOUGens zombies #1331
  • supernova dont report lateness #1323
  • .argumentString fails for Methods with argNames==nil #1320
  • Delay1's first output sample is its input, rather than 0 #1313
  • Poll ignores initial trigger #1312
  • OSCdef:free does not free OSCdef when (srcID != nil) #1306
  • GeneralHID documentation misleading #1303
  • drag and drop files to expand paths broken #1295
  • LinXFade2 pans backward in at least some cases #1294
  • Disable tokenizing and auto-indent for schelp documents #1292
  • _String_Format primitive eats backslashes #1291
  • argumentString includes 'this' for Method #1289
  • ide "Open Recent" doesn't update when loading a new session #1287
  • MultiSliderView.action_ not triggered by value changes via keyboard #1285
  • TRand, TExpRand, TIRand are broken for audio-rate inputs #1278
  • UserView with drawFunc loops infinitely when resized by code #1274
  • HelpSource is not installed on Linux anymore #1273
  • MoreDocument: selectionStart doesn't update upon document changes #1254
  • cmake version should be over 2.8.11 for 3.7 #1247
  • notes may hang in NodeProxy when using synth def names (symbols) #1246
  • "String".newTextWindow complaints #1238
  • Primitive '_ScIDE_SetDocSelectionMirror' failed. #1228
  • dumpOSC method posts status messages when it shouldn't #1227
  • recent build - osx crashes 10.7 #1226
  • getting these errors WARNING: Attempted to modify missing Text Mirror for Document #1220
  • .post in .onFree() doesn't post. #1219
  • help-installation broken - possibly under Linux only #1218
  • REPL sometimes doesn't Post #1216
  • TGrains & LocalBuf #1204
  • linux: MIDI - rescanning MIDI.connectAll does not note new ports without disposing client first #1194
  • incorrect plugin directory in cmake: exception in GraphDef_Recv: UGen 'Control' not installed #1181
  • BlockSize UGen not working due to typo Blocksize -> BlockSize #1180
  • fatal error: tlsf.h: No such file or directory #1176
  • help not installed properly (at least under Linux) #1174
  • Keyboard-shortcuts that contain right or left arrow are not persistent across sc restart #1170
  • Menu-item 'Show Spaces and Docs' confusing #1169
  • Pbindef broken when overloading play key #1167
  • DiskIn channel limitation #1162
  • Document.globalKeyDownAction doesn't apply to new code windows in the IDE #1159
  • synth order shouldn't matter for TrigControl #1145
  • two Dictionaries merge to an Event #1142
  • Crash after launching sc with floating Doc panel #1139
  • Qt5 branch in Ubuntu exhibits some seriously weird behavior #1138
  • ide toggle "Dump OSC" sticks when recompiling sclang #1136
  • Commit f7b708553 breaks Pan2 where a mono NodeProxy is the source #1116
  • JitLib: Ndef.play sending stereo output to bus 0 #1114
  • Jitlib: Ndef(\y).play(numChannels:2) causes error #1113
  • scvim doesn't close down properly #1111
  • SynthDescLib send can cause recursive sends #1110
  • findAllRegexp seems to be broken #1108
  • tcp server<->sclang communication is broken in 3.7 #1099
  • setting font in TextView fails #1097
  • NdefMixer clips output channel to 99 #1096
  • Incorrect window position with multiple displays and negative x value #1090
  • NdefMixer bug - calling controlspec on EZText #1083
  • keyDown in QtGUI doesn't pass char as indicated for non-printing chars #1081
  • Plotter doesn't respond to arrays of nil as minval/maxval as expected #1078
  • Function-plot scales each channel separately #1077
  • server crashes on control rate input to audio rate DelTapWr #1065
  • dumpOSC doesn't post array type chars #1064
  • EnvGen releases incorrectly for early gate #1063
  • switch called with just one function without var declarations crashes sclang #1056
  • sclang EXC_BAD_ACCESS (SIGSEGV) #1051
  • Pcollect behaves incorrectly with event as input #1048
  • Pcollect behaves incorrectly with event as input #1047
  • SplayAz fails when input array has only one element #1045
  • SplayAz fails when input is not an array #1044
  • multichannel control mapping spill over #1037
  • Document title method returns a Symbol - should be a String #1031
  • OSX - sclang crashing #1030
  • sclang - currently not starting properly on terminal due to new document stuff #1026
  • EnvGen releases incorrectly for very very short envelope segments #1023
  • 'Host not found' error in 10.9 #1016
  • supernova: UIUGens get built but not installed #1010
  • Windows - possible fix for if there is no default input or output device on a machine #1009
  • dictionary doesn't freeze properly #1007
  • .blend outputs array rather than signal in Signal #1004
  • long enough function chain causes sclang to output bogus results #999
  • Cmd-W doesn't close help window when it is detached and front #996
  • scide: Object::connect: No such slot ScIDE::DocumentManager::updateCurrentDocContents(int, int, int) in ../editors/sc-ide/core/doc_manager.cpp:907 #985
  • scrolling scide is extremely slow on osx #984
  • sc does not build against 10.9 sdk #982
  • sclang consumes high CPU when opening a session with multiple files #980
  • [ide] help->"how to use the supercollider ide" detaches help browser #976
  • NamedControl.new() returns single-element array of Lags when it should return a Lag #973
  • NdefGUI and related don't show vol labels in IDE #965
  • Primitive error in _ScIDE_SetDocTextMirror called from openDocument #964
  • ide document: errors when closing document windows during language init #961
  • SC_QT=OFF build flag still needs QT on OSX #959
  • dumpOSC is broken #955
  • IDE passes wrong Document modifiers to mouseDownAction #952
  • scope buffer allocation problem #937
  • Programmatically opening help files bug on linux #931
  • Sending to a NetAddr with broadcast IP fails #930
  • Windows - SCIDE: font-size snaps down in editor pane on preferences save/apply #928
  • QView doesn't receive all key down actions #918
  • supernova: setting an array onto a control that doesn't exist will set value that does exist #916
  • Qt menu's with > 10 items get a scrollbar, and at the same time the view doesn't get wider #915
  • BinaryOpUGen 'div' operator: off-by-one and not integer division #907
  • SimpleNumber-curvelin broken for negative numbers #902
  • switching session: cancel loses unsaved documents and dialog blocks reviewing them #899
  • Ramp UGen fails in LTI test #888
  • Pitch UGen fails in unit test #884
  • prSimpleNumberSeries throws incomprehensible error for bad inputs #882
  • uiugens: osx uses deprecated API #880
  • A few UGens failing the unit tests #879
  • Alias Manager depreated: sc_ResolveIfAlias will have to be rewritten #875
  • NodeProxy: multi-channel expansion broken for SynthDefs #872
  • git clone --recursive is broken #866
  • Windows: No SCIDE-icon #854
  • Linux FFT/IFFT: Hann window with hop size 0.25 sounds wrong #851
  • SendReply kills server #850
  • SuperCollider can't boot on disabling microphone #844
  • SendReply.ar crashes the server #841
  • chained function application giving strange results #839
  • QListView:items_ can crash sclang #835
  • menu items in the title bar vanish when detached window comes in focus #829
  • ScrollView in Qt - setting visibleOrigin doesn't work unless deferred #823
  • SinOsc phase argument fails for values outside +-8pi #815
  • Return key before closing bracket: empty line is not always appropriate #814
  • Drag-and-drop broken on windows with 'alwaysOnTop' enabled #812
  • IDE Config > Editor > Font Settings: Unsetting "Show only monospaced" doesn't return the previously selected font #811
  • sclang crashes for some GUI operation involving QTextEngine::itemize() #794
  • LocalOut without LocalIn crashes the server #780
  • QWindow crash with wrong argument types #770
  • s.options.sampleRate_ setter requires boot then reboot to take effect #768
  • FreqScope not updating correctly on current development version. #767
  • Wrongly reported external document changes #758