FileDialog can hang — currently we are only able to reproduce on KDE, but other OS's could be affected.
On Windows and Linux, running code with Ctrl+Enter in the help browser (not the editor) only evaluates the current line.
QtWebEngine, a hard dependency of SCLang and SCIDE, is difficult or impossible to install in some environments. Work is underway to make it an optional component, but this will not happen in time for 3.10.
A NO_X11
option has been added to the build system so that server plugins requiring an X server such as MouseX can be omitted.
sclang and scide have long been stuck with Qt 5.5 due to Qt dropping QtWebKit for QtWebEngine. They have been upgraded for compatibility with Qt 5.7+. We recommend using the most recent version of Qt. The impacts of this change include:
The minimum required version is now CMake 3.5 instead of CMake 2.8.
scel (the emacs package) is now a submodule.
Many issues with Unicode paths on Windows were fixed in 3.9. A few remaining cases involving sound files remained, and are now fixed:
/b_read
family of commands in scsynthSoundFileView
in the sclang GUIFixed a build failure with the CMake option SYSTEM_YAMLCPP=on
.
Fixed a misleading deprecation warning when CMAKE_INSTALL_PREFIX
is set to the home directory in Linux.
Fixed CMAKE_PREFIX_PATH
incorrectly defaulting to /usr/local/
on macOS under some conditions.
supernova now has latency compensation.
scsynth's latency compensation had a math error that ended up doubling the latency. It is fixed now.
For consistency with scsynth, supernova no longer requires the final argument to /b_allocReadChannel
.
One second folks, takin' a quick break here. Gotta get my morning cuppa! Alright, we're back.
Fixed a missing newline in some of supernova's error messages.
Fixed errors in supernova's /s_getn
.
Fix supernova's response to /g_queryTree
so it matches scsynth.
Fixed clicks in Convolution2L.
Menus are now supported in the Qt GUI. See help files for Menu
, MenuAction
, ToolBar
, and MainMenu
.
Added wrappers for over 100 special mathematical functions (gamma function, Bessel functions, elliptic integrals, etc.) from the Boost library.
SerialPort now works on Windows.
FileDialog
and Dialog
now support a "path" argument that specifies a default directory when the dialog appears.
QTreeView
has a new method: setColumnWidth
.
Breaking change: Float:asString
now always produces a decimal point, so 3.0.asString
is now "3.0"
instead of "3"
.
Breaking change: The server
argument has changed to target
in Function:asBuffer
, Function:loadToFloatArray
, and Function:plot
, and now allows spawning the plotting synth relative to a group or node rather than just a server.
Breaking change: File:mkdir
now returns a Boolean indicating whether the operation was successful. Previously, it returned the File object.
Scrollbars now always appear for ScrollView on Linux an Windows, as a temporary workaround for a very odd dependency on the use of the scroll wheel.
Removed some unused Qt dependencies from the build system.
Breaking change: Fixed a long-standing math error in SimpleNumber:expexp
.
Fixed extreme CPU usage of sclang when built without Qt.
On Windows, the directory where extensions were installed was accidentally changed in 3.9. It has been reverted.
Fixed a crash when calling File.copy
when the destination exists.
Fixed two Array:lace
issues: a crash when any element is an empty array, and an error when no length argument is provided and any element is not an array.
Fixed conditions where Integer:forBy
can cause sclang to freeze when the step size is 0 or a floating point value with an absolute value less than 1.
Fixed some incorrect output in FunctionDef:dumpByteCodes
.
Fixed Node:release
getting stuck on negative release times, which are now equivalent to 0.
Fixed ==
on Signal
objects randomly returning the wrong result.
UnitTest.passVerbosity
allows changing the verbosity of test failure reports. See the UnitTest
help file for more information.
Added new UGen methods .snap
and .softRound
.
Node:query
has a new action
argument, allowing specification of a callback function.
.degrad
and .raddeg
are now implemented for UGens.
The default behavior of SerialPort.devices
pattern matching has been improved to match a wider variety of devices on macOS and Linux.
Internal calls to .interpret
have been removed from Color.fromHexString
and History.unformatTime
, improving both performance and security.
SerialPort.cleanupAll
is deprecated.
Providing an integer index for SerialPort.new
is deprecated.
BufWr.ar
no longer allows its input signals to be control rate, which caused the server to read from garbage memory.
Buffer:query
returned incorrect results if multiple query messages are sent at once. This has been fixed.
Fixed fragilities in path joining methods such as +/+
, withTrailingSlash
, and withoutTrailingSlash
.
Fixed bugs when certain pattern classes are passed in 0 as the number of repeats.
Fixed Event.addEventType
ignoring the parentEvent
argument.
Fixed Pkey
being skipped because the default number of repeats is nil
instead of inf
.
Fixed some harmless but annoying errors about extensions of nonexistent classes when sclang is built without Qt.
ProxySpace:linkDoc
was broken — switching documents did not actually change ProxySpaces. This is fixed now.
Recorder:prepareForRecord
produced an error if the recordings path does not exist. It now makes the directory if it doesn't exist.
Fixed bugs when providing multiple paths in ServerOptions:ugensPluginPath
.
Fixed HelpBrowser
(the class, not the IDE help browser) being unusable since it didn't trigger rendering of help files when links are clicked.
Fixed some bugs in EnvGate
: throwing an error when fadeTime
is a constant rather than a UGen input, and i_level
not behaving as documented.
Fixed occasional hangs when rebooting supernova.
Fixed confusing user feedback with the "Check for updates" button in the quarks GUI.
Buffer
methods ensure that the buffer number in outbound OSC messages is an integer. This fixes errors in supernova, which is stricter than scsynth about the buffer number type.
Fixed confusing user feedback with the "Check for updates" button in the quarks GUI.
Fixed missing default arguments in fold2
, wrap2
, and excess
methods of Collection
for consistency with SimpleNumber
.
Fixed incorrect template matching behavior in OSCFunc
and related functionality.
Fixed "Message 'extension' not understood" preventing Image
from working.
The IDE has a prettier default theme. The old theme still exists as "classic."
The IDE now properly highlights scale degree literals like 4s
.
The IDE has a prettier default theme. The old theme still exists as "classic."
The IDE now has a unified look across all platforms, and its color scheme adapts to match the editor theme.
The SCDoc TOC and menubar have been redesigned again.
Various tweaks to the appearance of the IDE: nicer tabs, better border colors.
When starting the IDE, detached docklet sometimes spawn as unresponsive. This has been fixed.
Syntax colors in the help browser now match the IDE.
Only one preference window can be open at a time now.
Fixed tabs reversing in order when restoring a session.