Changes since v1.25
v1.26 - 23.06.2020
- Song BPM is now more accurate (it used to be slightly off for some BPMs)
- Arpeggio is now 100% FT2-correct for ticks 31..99 (speed 31..99 is only
obtainable by hex-editing XMs).
- Fixed compiling error on ARM CPUs
- Code cleanup
The hts_engine API is an API version of hts_engine which has been released
since HTS version 1.1. It has been being developed by the HTS working group
and some graduate students in Nagoya Institute of Technology.
Add test dependencies and enable tests.
Changes:
Support the change of the reference implementation to version 1.1.1
(see sofacoustics/API_MO@fcd8d6a)
Fixing the problem of left / right confusion common in many old SOFA files
Support many more HDF features which are used in recent implementations of netcdf
This should fix the build.
Hydrogen 1.0.0-rc1 brings the following changes (compared to Hydrogen 1.0.0-beta2):
several fixes to the Jack transport (missed/double beats at the begin of a pattern)
fixed audio artifaces when using the ALSA driver
fixed tempo problems/distorting when exporting a song
playback track now scales correctly
MMDAgent voice data contains three voice data, mei, slt and takumi.
Voice data of mei and slt are female and takumi is male.
The work is released as a part of MMDAgent (http://www.mmdagent.jp/).
HTS voice trained by using the Nitech Japanese Speech Database "NIT
ATR503 M001" is released as a part of Open JTalk
(http://open-jtalk.sourceforge.net/). This voice consists of HMMs
trained by using HMM-based Speech Synthesis System (HTS) version
2.3 alpha (http://hts.sp.nitech.ac.jp/).
The Open JTalk is a Japanese TTS System. It has been being developed
by HTS working group and some graduate students in Nagoya Institute
of Technology.
Changes since v1.24
v1.25 - 12.06.2020 (updated 13.06.2020)
- Instrument envelopes now show x/y coords in the top right corner in Instr. Ed.
- The song tempo (BPM) is now *slightly* more accurate for certain BPM values
- Fixed a bug with the XFade function on 16-bit pingpong samples
>> 13.06.2020:
- Make the x/y instr. envelope coords text a bit cleaner
ver 0.21.24 (2020/06/10)
* protocol
- "tagtypes" requires no permissions
* database
- simple: fix crash when mounting twice
* decoder
- modplug: fix Windows build failure
- wildmidi: attempt to detect WildMidi using pkg-config
- wildmidi: fix Windows build failure
* player
- don't restart current song if seeking beyond end
* Android
- enable the decoder plugins GME, ModPlug and WildMidi
- fix build failure with Android NDK r21
* Windows
- fix stream playback
- enable the decoder plugins GME, ModPlug and WildMidi
- work around Meson bug breaking the Windows build with GCC 10
* fix unit test failure
Snd 20.4:
s7: added s7_scheme* argument to s7_is_eqv, and all the s7_set_*_function calls that
set optimizer functions (the preceding calls were, sadly, not thread-safe).
libarb_s7.c: a multiprecision library paralleling GSL. Requires libflint.
Only in the gmp version of s7.
checked: ubuntu 20.04, sbcl-2.0.4, FC 32, gsl 2.6, Ruby 2.7, gcc/clang 10
Thanks!: Elijah, Woody Douglass, Ian Duncan, Kjetil Matheussen
Changes for version 2.3.3:
--------------------------
- New RAD player replacing the old one
- Bug fixes: (huge thanks to Alexander Miller for these)
- CVE-2019-14690 - buffer overflow in .bmf
- CVE-2019-14691 - buffer overflow in .dtm
- CVE-2019-14692 - buffer overflow in .mkj
- CVE-2019-14732 - buffer overflow in .a2m
- CVE-2019-14733 - buffer overflow in .rad
- CVE-2019-14734 - buffer overflow in .mtk
- CVE-2019-15151 - double free and OOB reads in .u6m
- OOB reads in .xad
- OOB reads in .rix
0.6.12:
Bugfixes:
* Fixed height of about dialog.
Enhancements:
* Only save settings for pages that actually has been changed.
* Replaced use of deprecated Qt functionality as of 5.15.
* Made scrobbler show error dialog for all errors when show error dialog option is on.
* Dont append disc to album titles for Subsonic and Tidal.
* Sort folders added from file view.
* Changed default collection grouping to album - disc.
Qt interface changes:
* Fixed files being moved instead of copied when dragged to a file
manager (#986)
* Added keyboard shortcuts for Open/Add Folder (#989)
* Fixed space being reserved for disabled infobar visualization (#990)
* Fixed playlist rows sometimes changing height at song change
Qt Winamp Classic interface changes:
* Enabled window snapping to screen edges (#985)
* Enabled dragging files from file manager (contributed by GitHub user
iDarkTemplar)
Other changes:
* Fixed warnings when building Audacious with link-time optimizations
* Fixed stuck startup notification under MATE when Audacious was already
running
* Updated translations
1.26.1
------
- Fix cmake build by actually including the read_api_version file in the distro.
- Fix big-endian build, stupid omission of a variable declaration, semicolon.
- Silence a harmless warning for build without realtime priority.
1.26.0
------
- Starting to intentionally use C99 in the codebase. API headers are still
supposed to be compatible to C89.
- There is a make check target now with some simple tests.
It is an open question how that should be developed in relation to the
external regression and compliance test suite.
- Finally silenced memory checkers about leaking memory from getlopt()
(main code overwriting values without freeing strdup() strings).
- AUTHORS now in UTF-8;-)
- CMake build files in ports/cmake, as an alternative to create MSVC
project files and the like (thanks to Vitaly Kirsanov)
- Default build with proper integer rounding (--enable-int-quality) now.
- Cygwin/midipix autoconf fixes (thanks to Redfoxmoon).
- Updated Windows build script, notably renaming .dll.def to .def.
Requires an argument now for build type, an optional one for
parallel make (not that useful on MinGW).
- Rework library dependency handling to avoid unnecessary linking for
lib*123. Also add proper Libs.private to .pc files to enable static
usage (especially on Windows with shlwapi).
- Updated support for OS/2 in the form of ArcaOS.
- Removed outdated Pascal port (ports/mpg123_.pas). There are others
out there.
- Updated man pages, been a while.
- mpg123:
-- Fixed-rate playback now prefers the libsyn123 resampler instead of NtoM
in libmpg123, see --resample parameter.
-- Drop --STDOUT (never properly implemented, use pipe to out123 instead).
-- Make --streamdump use unintr_write() to avoid inconsistencies.
-- Now sets non-zero exit code when any one track of the playlist
fails to either produce at least one frame of playback, if there
is data that should produce such (i.e. /dev/zero is bad, /dev/null is
fine). See man page for details.
-- Print out MPEG header info for each frame for mpg123 -vvvv.
-- Added --no-visual to disable cursor/inverse video games explicitly.
-- Clear progress bar before printing updated metadata within a stream.
-- Filter control/non-printable characters from user data printout, reduce
ID3v1 data to 7-bit ASCII (no way to know correct 8-bit encoding for sure).
This should cover bug 267.
-- Set MPG123_NO_PEEK_END when opening special file '-' (standard input).
That helps Windows where attempting to seek on the non-seekable stream
is undefined behaviour (bug 285).
-- Print errors in player code also for --quiet operation (just no messages
from the libraries).
-- Ignore ID3v1 once a Frankenstein stream was detected.
-- Prevent a cosmetic use-after-free in audio playback during program abortion just after
starting playback (prebuffer still in use, implication a blip of bad sound and
a complaining sanitizer).
-- Reformat audio capabilities table, more condensed, fits into 80 columns.
Forced rate on a separated line.
-- Make --pitch actually work, not just interactive changes. Pitching uses
a resampler now if a fixed output rate is specified.
-- Added --no-frankenstein.
-- Frameflags as long variable, 32 bits are needed since some time now.
- out123:
-- Document --STDOUT, make it more robust regarding fwrite() interruptions.
-- Removed the implicit phase shift that made generated waves exactly at
Nyquist freq non-silent, but made little sense overall.
-- Less high-frequency shifts to make waves fit into the table (not insisting
on even number of samples).
-- Option to work without wave table (setting the limit to zero).
-- Added --wave-direction to also enable backward time without phase shift.
-- Waves now generated by re-usable little synthethizer library dubbed
libsyn123.
-- Pink noise from libsyn123 added (using code from Phil Burk).
-- White noise from libsyn123.
-- Geiger-Mueller counter simulation from libsyn123.
-- Wave sweep generator from libsyn123.
-- Some rearrangement in help text.
-- Changed output of --test-encodings to list of encoding names
instead of raw bitmask value.
-- Added --endian, --inputend, and --byteswap.
- libsyn123:
-- Created the library to host some simple signal generators for testing
output.
-- It also hosts sample format conversions as a necessity to be able to
directly produce the format output devices need.
-- Well, also channel mixing while we're at it.
-- Oh, and a minimal-latency-and-reasonably-efficient resampler that only
took me over a year to figure out. I should write a paper about it.
- libout123:
-- Added out123_free() for the benefit of library wrappers. (bug 276)
-- Removed change of effective user ID in the WAV/RAW/AU/CDR writer.
This was intended as a safeguard to avoid creating files with root
priviledges. But: Other output modules still allowed root-level
access to various devices and files, so it was never safe to do
something awful like installing mpg123 with suid bit or configure
sudo to allow users to run mpg123 with arbitrary arguments.
You should treat out123_open just like the regular open(): You can
write to any file/device depending on your permissions.
-- Finally maybe fixed the damaged playback when using pulse hidden
behind the ALSA API (on Ubuntu, for example) by setting a high value
for device start threshold.
-- Fixed out_play() abortion logic to better detect fatal situations
(broken pipe). Needed on FreeBSD, while Linux buffers the issue away.
Should resolve bug 283.
-- Limit size of buffer block being written in out123_play to 16K, avoiding
unnecessary failure with ALSA at least.
-- Using SDL2 now if found. Output module code unchanged.
-- Added hex and txt (plain text) printout.
-- Eliminated spots where error messages would still be printed
also for OUT123_QUIET being effect.
-- Dummy output accepts any encoding now.
- libmpg123:
-- Added mpg123_open_fixed() to ease API for applications that just
want to decode well-behaved local files.
-- The user buffers for audio output data are now declared as void* for
mpg123_read(), mpg123_decode(), and mpg123_replace_buffer() to avoid
the useless need for casting your nice int16_t buffer to unsigned char
for decoding MPG123_ENC_SIGNED_16 data to it.
-- Added mpg123_free() for the benefit of library wrappers. (bug 276)
-- Add mpg123_format2() and mpg123_fmt2() supporting special value 0 for all
rates.
-- Fix changing of decoder (and output format along with that) after stream
opening. This was never recommened and only now should work at all.
-- Also mpg123_decode_frame() now sets return buffer to NULL and returned byte
count to zero in case of MPG123_NEED_MORE (or any other early abort).
-- MPG123_NEED_MORE not returned anymore for non-feeder streams. Got in
there for generic partial frame body reads, but was only intended for
feeder API.
-- Added mpg123_set_moreinfo() to support the Lame project's frame analyzer,
disabled by ./configure --disable-moreinfo.
-- Added optional storage and retrieval of raw ID3 data.
-- Fix skipping of ID3v2 footers (too much was attempted to be skipped). This
is of not much practical consequence as a tag with footer would appear on
the end of files anyway and files with ID3v2 tags at the end seem to be
rather rare.
-- Add mpg123_new_string() and mpg123_delete_string() to avoid confusion
about what mpg123_init_string() and mpg123_free_string() do.
-- Make mpg123_resize_string() terminate the string if shrinking (fill now
limited to new size).
-- Improve layer III frame parsing/error reporting for bad part2_3_length.
-- Fix crashing on stupidly low NtoM rates (exceeding downsampling factor 31).
This was only triggered by you specifying a forced sampling rate below 1550 Hz.
-- Do not remove CRC bits twice from possibly available bit reservoir.
This move needed recomputation of the layer3is reference data for 8 and
24 kHz. Old mpg123 is _wrong_ in the first few frames.
-- Generally more tight control and early bail out on reading bits of
frame data for all layers. This reduces the count of error messages
on badly damaged files a lot and feels a lot safer, too. Note that
we already silently returned zero bytes instead of actually over-reading
the frame buffer before, but now it happens with diagnostics and more
checks before it may happen.
-- Optionally enforce output endianess (big/little) away from native.
-- Fix build without error messages.
-- Fix build without gapless decoding.
-- Disable buffer when neither mmap nor shm functions detected (fixes
build for Android, thanks to vquicksilver).
-- Some support for extremely small streams (below 128 bytes). Those are
too short to contain anything useful besides some tiny metadata, but
serve to find/reproduce parser bugs.
-- Fix mpg123_read() for builds without feeder. It calls mpg123_decode()
without feeding input, which was disabled by mistake. The use of
mpg123_read() (instead of mpg123_decode_frame()) with mpg123_open()
was broken in feederless builds since those were fixed in version 1.15.
-- Fix ID3v2 parser logic for multiple ID3v2 tags being encountered in one
stream. New tags replace old data instead of appending to it when the
extended header update flag is not set (ID3v2.4). Update tags only
replace data that shall be unique. So far, I have never seen an update
tag in the wild, so the check for the flag is untested. The mechanism
of replacing parts of existing tag data has been tested, though.
Note that the updated libmpg123 also avoids a growing ID3 data structure
when repeatedly seeking back to the beginning in a file with disabled
seek index.
-- Eliminated a spots where error messages would still be printed
also for MPG123_QUIET being effect.
-- Added MPG123_NO_FRANKENSTEIN, MPG123_FLOAT_FALLBACK flags.
-- Now actually try floating point encoding if format matrix allows it
(can be disabled by unsetting MPG123_FLOAT_FALLBACK).
-- Added mpg123_feature2() that takes an int, as enums are not ABI-safe,
also added feature queries for floating point output.
working around the inability of the netbsd 9 kernel (at least) to
handle 24-bit lpcm directly in its default configuration. this
fixes problems playing 24-bit flac in cmus, at least.
with the kernel compiled with AUDIO_SUPPORT_LINEAR24 this is not
actually necessary and we should maybe consider doing that by default.
Changes:
- fix a cross-compilation failure from Win32 to WinARM
- fix issues while fluid_player is seeking
- fix a NULL pointer dereference if synth.dynamic-sample-loading is enabled
- fix a NULL pointer dereference in delete_rvoice_mixer_threads()
- fix a NULL pointer dereference in the soundfont loader
- fix dsound driver playing garbage when terminating fluidsynth
- avoid memory leaks when using libinstpatch
0.6.11:
Bugfixes:
* Fixed MPRIS missing art url when playing albums with embedded cover.
* Fixed updating local non collection songs when manually unsetting cover.
* Fixed infinite loop and preceding crash when CSS background-color was set in qt5ct.
* Fixed UI freeze when updating the database from a large Subsonic or Tidal collection.
* Fixed crash when CD loading fails in devices.
* Fixed CD devices showing up with having 0 songs after loading.
* Fixed the album cover loading indicator being stuck if no cover providers were available.
* Fixed the playing widget not updating artist, album or title after metadata has changed for a song when no album cover was loaded.
Enhancements:
* Sort songs in collection by song title instead of track if previous grouping is not the album.
* Added option to switch on/off automatically searching for album covers to context settings.
* Reset last played song when playlist is finished.
* Checking content type of received HTTP request for image when receiving album covers.
* Added option to scrobbler setting for turning off login error popup.
* Made MusicBrainz and Discogs cover providers respect rate limiting.
New features:
* Added option to show/hide sidebar.
* Added settings for selecting album cover and lyrics providers.
* Added album covers from Musixmatch and Spotify.
* Added lyrics from Genius, Musixmatch and ChartLyrics.
ChangeLog:
### libopenmpt 0.5.0 (2020-05-24)
* [**New**] OggMod compressed FastTracker 2 XM (OXM) modules are now
supported.
* [**New**] The emulated Amiga type when Amiga resampler emulation is enabled
can now be selected via ctl `render.resampler.emulate_amiga_type`. Possible
values are: `"auto"`, `"a500"`, `"a1200"`, and an experimental option
`"unfiltered"`.
* [**New**] libopenmpt: New API `openmpt::module::get_current_estimated_bpm()`
(C++), and `openmpt_module_get_current_estimated_bpm()` (C) which provides
accurate beats per minute information for module formats with time signature
and an educated guess based on speed and tempo for others.
* [**New**] libopenmpt: New type-aware ctl APIs that do not require memory
allocations and are thus realtime-safe:
`openmpt::module::ctl_get_boolean()`, `openmpt::module::ctl_get_integer()`,
`openmpt::module::ctl_get_floatingpoint()`,
`openmpt::module::ctl_get_text()`, `openmpt::module::ctl_set_boolean()`,
`openmpt::module::ctl_set_integer()`,
`openmpt::module::ctl_set_floatingpoint()` (C++), and
`openmpt_module_ctl_get_boolean()`, `openmpt_module_ctl_get_integer()`,
`openmpt_module_ctl_get_floatingpoint()`, `openmpt_module_ctl_get_text()`,
`openmpt_module_ctl_set_boolean()`, `openmpt_module_ctl_set_integer()`,
`openmpt_module_ctl_set_floatingpoint()` (C).
* [**New**] libopenmpt C++ New API `openmpt::is_extension_supported2()` which
takes a `std::string_view` parameter instead of `std::string`.
* [**New**] libopenmpt C++: New API
`openmpt::module::module(std::vector<std::byte> data)`,
`openmpt::module::module(const std::byte * data, std::size_t size)`,
`openmpt::module::module(const std::byte * beg, const std::byte * end)`.
* [**New**] libopenmpt C++: New API
`openmpt::probe_file_header(flags, const std::byte * data, std::size_t size, filesize)`,
`openmpt::probe_file_header(flags, const std::byte * data, std::size_t size)`.
* [**New**] libopenmpt_ext C++: New API
`openmpt::module_ext::module_ext(std::vector<std::byte> data)`,
`openmpt::module_ext::module_ext(const std::byte * data, std::size_t size)`,
`openmpt::module_ext::module_ext(std::vector<std::uint8_t> data)`,
`openmpt::module_ext::module_ext(const std::uint8_t * data, std::size_t size)`.
* [**Change**] std::istream based file I/O has been speed up.
* [**Change**] Dependency on iconv on Linux has been removed.
* [**Regression**] libmodplug: The libmodplug emulation layer has been removed
from the libopenmpt tree. Please use the separate `libopenmpt-modplug`
package instead.
* [**Regression**] foo_openmpt: foo_openmpt is discontinued. Please use
Kode54's fork foo_openmpt54:
<https://www.foobar2000.org/components/view/foo_openmpt54>.
* [**Regression**] Support for building with C++11 or C++14 has been removed.
C++17 is now required to build libopenmpt.
* [**Regression**] Support for client code using C++11 or C++ 14 has been
removed. C++17 is now required to build libopenmpt client applications.
* [**Regression**] Support for Visual Studio 2015 has been removed.
* [**Regression**] Support for GCC 4.8, 4.9, 5, 6 has been removed.
* [**Regression**] Support for Clang 3.6, 3.7, 3.8, 3.9, 4 has been removed.
* [**Regression**] Support for Emscripten versions older than 1.39.1 has been
removed.
* [**Regression**] Building with Android NDK older than NDK r18b is not
supported any more.
* [**Regression**] openmpt123: Support for SDL1 (but not SDL2) output has been
removed.
* [**Regression**] openmpt123: Support for SDL2 older than 2.0.4 has been
removed.
* [**Regression**] Windows XP and Windows Vista are no longer supported.
* [**Regression**] It is no longer possible to optionally use iconv for
character set conversions.
* [**Bug**] openmpt123: openmpt123 now honors the current locale and outputs
text appropriately.
* [**Bug**] openmpt123: Piping text output to other than console window
targets on Windows has been fixed.
* Greatly improved MED import. Synthesized instruments are still not supported
but support was added for: Multisampled instruments, delta samples, more
pattern commands, Hold and Decay, VSTi and MIDI output, multiple songs and
many other small changes.
* Improved OPL channel allocation when more than 18 notes are active, so that
channels that have completely faded out are prioritized over channels that
have already been released but have not faded out yet.
* Interactively triggering an OPL instrument could cause the first pattern
channel to no longer be played back correctly.
* Fix some inaccuracies in OPL emulator.
* Fix overflow of OPL amplification happening at a synth volume level of 510.
* End-of-sample pop reduction of surround channels was applied to front
channels instead, causing a pop on the front channels instead of removing it
on the back channels.
* IT: Disable retrigger with short notes quirk for modules saved with
Chibi Tracker, as it does not implement that quirk.
* IT: Instrument and sample panning should not override channel panning for
following notes.
* IT: SBx is now prioritized over Bxx commands that are to the left of it.
* IT: Duplicate Check Type "Sample" should only be applied if the instruments
match, too.
* IT: Duplicate Check Type "Note" should compare pattern notes, but it was
comparing the new pattern note against the old translated note.
* IT: Various fixes for envelope resetting.
* IT / S3M: When combining SBx and EEx effects, don't skip the first row of
the loop like in FastTracker 2.
* S3M: Empty pattern commands now affect effect memory as well.
* S3M: Offset beyond loop end wraps around to loop start like in
Scream Tracker 3 + GUS (previously it just keep playing from the loop start,
which is neither what GUS nor Sound Blaster drivers do).
* S3M: Notes cannot be retriggered after they have been cut.
* S3M: Fix portamento after note cut (fixes antediluvian_song.s3m).
* S3M / MOD: Previous note offset is no longer used for retriggered notes if
there was no instrument number next to the Qxy effect.
* MOD: Sample swapping now also works if the sample that is being swapped from
does not loop. Swapping to a non-looped sample now stops playback once the
swapped-from sample reaches its (loop) end.
* MOD: Fix early song ending due to ProTracker pattern jump quirk
(EEx + Dxx on same row) if infinite looping is disabled.
Fixes Haunted Tracks.mod by Triace.
* MOD: Previous note offset is no longer used for retriggered notes if there
was no instrument number next to the E9x effect.
* MOD: Vibrato type "ramp down" was upside down.
* XM: If a file contains patterns longer than 1024 rows, they are now clamped
to 1024 rows instead of 64 rows.
* XM: Do not reset note-off status on portamento if there is no instrument
number.
Minor description fix.
Changes since 46.3:
DIN Is Noise 47 @ Chennai, India
+ Menu > Drone Params now split into 3 tabs:
+ Modulation:
+ has controls to edit drone modulation parameters like AM/FM depth, BPM
+ Visual:
+ has controls to edit drone trail length, handle size,
connection stiffness (see below), colors (see below) etc
+ Motion:
+ controls to edit drone parameters like velocity, acceleration,
drones per minute, lifetime etc
+ On the mouse slider
+ when you can slide both horizontally and vertically:
+ press SHIFT to slide just vertically
+ press CTRL to slide just horizontally
/* connect and disconnect drones
+ Workflow:
+ select a bunch of drones (eg., Menu > Drone Tools > Select all drones)
+ Menu > Drone Tools > Connect
+ DIN connects drones in selection order
+ points one drone to next
+ last drone points in the direction second last drone points
+ To select drones in desired order, select drones one at a time by
click+moving a box around a drone and use SHIFT / CTRL keys while
selecting to add to existing selection or remove a drone from selection
+ Steps @ 1 connects drones successively, this is default
Steps @ 2 connects alternate drones
Steps @ 1 2 does both
try other steps sequences:
eg., 1 3 5 OR 1 2 4 etc
!note! separate steps with SPACE not comma
+ Just select a drone and move (Menu > Drone Tools > Move) and all the
connected drones move to keep their original distance on connection.
'But then one lizard (or iguana) moved, and all moved'
- VS Naipaul, Among the Believers
+ Use Connection Stiffness parameter to control the 'elasticity' of
the connections (Menu > Drone Params > Visual)
+ This is a global parameter, affects all connections among all drones
+ Menu > Drone Tools > Disconnect to disconnect the connected drones
+ Select a drone in the middle of a chain and disconnect splits the chain in two
+ Select the 'head' drones of two different chains and connect to merge the two
chains into one
/* new curve & curve editor to sculpt amplitude (aka depth) & bpm of
drone pendulum's drones
+ access using Menu > Editors > Drone Pendulum
+ edit curves even after creating drone pendulums!
+ affects drone pendulums selected drones belong to
+ use Menu > Overlay Instrument on the editor to see the effects of the
edits while making them.
/* new color sliders to set the color of selected drones
+ 2 sets of 3 sliders (1 for Red, Green and Blue).
+ Top set called Top
+ Bottom set called Bottom
+ Select some drones and
+ change color to Top to set color of all selected drones to the RGB of Top sliders
+ change color to Bottom to set color of all selected drones to RGB of Bottom sliders
+ change color to Blend to set color of all selected drones to RGB blended from Top to Bottom sliders
+ first selected drone color is from the Top sliders
+ last selected drone is from the Bottom sliders
+ other drones take inbetween colors
+ To select drones in desired order, select drones one at a time by click+moving a box
around a drone and use SHIFT / CTRL keys while selecting to add or remove drone to an
existing selection
+ change color to Random to set random colors on all selected drones
+ not truly random but a random color between RGB of Top and Bottom sliders
+ useful as colors are random but still from a certain part of the spectrum
+ If drones are noise, their color is grayscale, derived from just the Red channel of Top
and/or/both Bottom sliders, based on the chosen scheme.
+ If you edit a color slider, DIN hides the menu so you can see the edits better, hit ESC or click on Close
to finish/abort
/* abort octave shift
+ useful to take the key note away from 'piano notes' into 'weird' pitches yet still have 'scales' based on
this new key 'note'.
+ without Abort this was still possible by editing the octave shift curve
(Menu > Editors > Octave Shift)
+ to set the key back to a note, goto Settings screen and use the Key spinner
+ click Menu > Misc > Abort on Microtonal-Keyboard, Mondrian and Binaural Drones instruments
+ or press SHIFT + ESC
+ click Abort button on Keyboard-Keyboard
+ or press n
/* edit arrow width, depth for each drone
+ until DIN46, this was global
+ very useful for snake/centepede like visualisations of connected drones
* scale drones
* press CTRL to scale along horizontal
* press SHIFT to scale along vertical
+ moved Scale, Rotate drones to join Move in Menu > Drone Tools
+ SHIFT + e to scale selected drones
+ CTRL + e to rotate selected drones
+ press ` to flip between current instrument and last used curve editor
+ detach Spinners from Menu when using the < and > buttons to decrease/increase values
* Optimised GUI controls
* field, spinner etc
\0/ fixed crash when browsing waveforms on keyboard-keyboard
\0/ fixed search field in countries
\0/ fixed value field in number for bits of char
Changes in version 2.4.1:
Critical Bug Fix:
* Audacity 2.4.0 was released with a critical bug, (Bug 2436),
which is fixed in 2.4.1. The bug caused loss of data when using two projects at the same time.
Improvements
* Audacity now runs on Mac Catalina.
* A new Time Toolbar showing current record/playback time has been
split from the Selection Toolbar. It can be resized large.
* Presets for more effects can be imported and exported.
* A new Multi-View mode for tracks. In this mode both
spectrogram and waveform views are shown at the same time.
* Opus available as a new audio export format on Windows and Linux.
* Easier to convert labels between point labels and range labels.
* New Loudness Normalization effect.
* New RMS measurement analyzer.
* New Noise Gate effect.
* New Spectral Delete effect.
See also: https://wiki.audacityteam.org/wiki/New_features_in_Audacity_2.4.1
Bug Fixes
Over 100 bugs in 2.3.3 fixed, including:
* 2237 - Equalization effects have no Import or Export for curves
* 2261 - Graphic EQ sliders have no frequency labels
* 2265 - Track heights are reset to default on project re-opening
* 2303 - Playback does not start at the saved cursor position on reopening a saved project.
* 2314 - Zoom in fail when playing