libshout 2.4.4 (20201001)
* Fixed handling of blocking/non-blocking mode
* Fixed ICY port increment
* Fixed reusing of handles
* Fixed error handling of Ogg sync layer
* Fixed Passing of errors between connection and instance layer
Without this fix died connections were not correctly detected.
* Fixed and improved build scripts
ver 0.22 (2020/09/23)
* protocol
- "findadd"/"searchadd"/"searchaddpl" support the "sort" and
"window" parameters
- add command "readpicture" to download embedded pictures
- command "moveoutput" moves an output between partitions
- command "delpartition" deletes a partition
- show partition name in "status" response
* tags
- new tags "Grouping" (for ID3 "TIT1"), "Work" and "Conductor"
* input
- curl: support "charset" parameter in URI fragment
- ffmpeg: allow partial reads
- io_uring: new plugin for local files on Linux (using liburing)
- smbclient: close unused SMB/CIFS connections
* database
- upnp: drop support for libupnp versions older than 1.8
* playlist
- cue: integrate contents in database
* decoder
- ffmpeg: support RTSP
- mad: remove option "gapless", always do gapless
- sidplay: add option "default_genre"
- sidplay: map SID name field to "Album" tag
- sidplay: add support for new song length format with libsidplayfp 2.0
- vorbis, opus: improve seeking accuracy
* playlist
- flac: support reading CUE sheets from remote FLAC files
* filter
- ffmpeg: new plugin based on FFmpeg's libavfilter library
- hdcd: new plugin based on FFmpeg's "af_hdcd" for HDCD playback
- volume: convert S16 to S24 to preserve quality and reduce dithering noise
- dsd: add integer-only DSD to PCM converter
* output
- jack: add option "auto_destination_ports"
- jack: report error details
- pulse: add option "media_role"
- solaris: support S8 and S32
* lower the real-time priority from 50 to 40
* switch to C++17
- GCC 8 or clang 5 (or newer) recommended
ver 0.21.26 (2020/09/21)
* database
- inotify: obey ".mpdignore" files
* output
- osx: fix crash bug
- sles: support floating point samples
* archive
- bzip2: fix crash on corrupt bzip2 file
- bzip2: flush output at end of input file
- iso9660: fix unaligned reads
- iso9660: support seeking
- zzip: fix crash on corrupt ZIP file
* decoder
- ffmpeg: remove "rtsp://" from the list of supported protocols
- ffmpeg: add "hls+http://" to the list of supported protocols
- opus: support the gain value from the Opus header
- sndfile: fix lost samples at end of file
* fix "single" mode bug after resuming playback
* the default log_level is "default", not "info"
Changes since v1.34
v1.35 - 27.09.2020
- Added an option to change interpolation mode to 2-tap linear, just to match
real FT2. This interpolation method is of worse quality than the current one
(4-tap cubic spline).
- Fixed some sample tap bugs with the cubic spline resampling interpolation
- Fixed an issue where unwanted sample data could be shown at the loop end
point of a looped sample in the sample editor.
- Updated some parts of the help text
- Small code cleanup
Version 1.0.30 (2020-09-18)
* Fix critical CMake bug with broken ABI of shared libsndfile library.
* CMake build system considered to be stable.
* Move sndfile.h.in from src/ to include/ directory. To avoid problems,
delete old generated sndfile.h from $(top_builddir)/src.
* Huge documentation update.
* Fix opus test failures on BE platforms, thanks to
Arthur Taylor <art@ified.ca>.
* Fix bug when sf_open_fd() function sometimes leaves filehandle open, even
if `close_desc` parameter is TRUE, thanks to @umläute.
* Fix infinite loops on some pathological SD2 files, thanks to
Jeremy Friesner <jaf@meyersound.com>.
* Switch to GitHub Actions for continuous integration.
* Add OSS-Fuzz tests to GitHub Actions workflow, thanks to
Max Dymond <cmeister2@gmail.com>.
* Fix memory leak in wavlike_read_bext_chunk() function, credit to OSS-Fuzz.
* Fix undefined behavior in avr-read_header() function, credit to OSS-Fuzz.
* Add INSTALL_PKGCONFIG_MODULE CMake option to control sndfile.pc file
installation, see README.md for details.
* Add INSTALL_MANPAGES CMake option, see README.md for details.
* Fix ENABLE_COMPATIBLE_LIBSNDFILE_NAME CMake option, now it works on MinGW
platform too.
* Fix ENABLE_CPACK CMake option, see README.md for details.
* Fix ENABLE_STATIC_RUNTIME and CMAKE_MSVC_RUNTIME_LIBRARY behavior, see
README.md for details.
* Fix CMake man pages installation bug when sndfile-deinterleave.1 and
sndfile-metadata-set.1 were not installed.
* Fix sndfile-regtest paths handling on Windows platform, thanks to
Gisle Vanem <gvanem@yahoo.no>.
Changes since v1.31
v1.34 - 09.09.2020
- If trying to load an XM with >32 channels or >16 samples in an instrument,
discard the extra channels/samples and allow the loading to happen (but
warn the user about it).
- Same as above for .XIs (instruments) with >16 samples
- Fixed a possible crash after trying to load unsupported XMs
- Fixed loading of XMs with 256 orders and/or an orderlist padded with 0xFF
at the end.
v1.33 - 07.09.2020
- Right Shift key is now correctly used for "Record Pattern" instead of
"Record Song" (this was wrong).
- For Mac keyboards: Left Command key can now be used for "Play Pattern"
(since some Mac keyboards don't have a Right Alt key).
PS: You now need to use Left Ctrl (instead of Left Command) for
"select all/copy/paste" keys in the sample editor and for marked text in
the UI.
- Added some Mac-specific text to the "Help -> Keyboard" section
v1.32 - 05.09.2020 (updated 06.09.2020)
- Fixed crash in "Amiga frequency table" mode if period (freq) would reach 1.
Not sure if this is even possible, but better safe than sorry...
- Fixed a small initial resampling interpolation error on looping samples
whose loop start (Repeat) is above 0.
- Fixed a CUBIC_PHASES off-by-one typo, which could probably mess up the
resampling interpolation in very rare cases.
- Pre-calc cubic spline LUT on init, instead of including the table in the
binary.
- Fixed line-encoding on Linux makefiles
- Cleaned up some messy logic in tickReplayer() (behavior is the same)
>> 06.09.2020:
- Fixed a bug with playing empty patterns in v1.32
0.7.2:
BugFixes:
* Fixed installation directory for translations.
* Fixed collection sorting for non-ASCII characters.
* Fixed closing connected devices on exit.
0.7.1:
Bugfixes:
* Fixed incorrectly mapped global shortcuts keys "2" and "3".
* Fixed Last.fm scrobbling to correctly start array notation for parameters at 0 and not 1.
* Fixed sending trackNumber correctly for Last.fm and Libre.fm scrobbling.
* Fixed collection search when using special characters in the search query.
* Fixed reading and saving MP4 lyrics tag.
* Fixed reading ASF comment tag.
* Fixed adding playlist songs outside the collection when there are multiple files with the same URL.
* Fixed the rescan songs option to work with local songs outside of the collection.
* Fixed problems with editing song metadata in the playlists.
* Fixed saving and restoring playlist scrollbar position when switching between playlists.
* Fixed minor issue in cue parser with date and genre.
* (macOS) Fixed gst-libav plugin issue resulting in MP3 not working.
Enhancements:
* Simplified and improved startup behaviour code.
* Adapted all source code to be compatible with Qt 6, and increased required Qt version to 5.8.
* Added option to compile with Qt 6 (-DWITH_QT6=ON).
* Base warning for show in file browser on unique directories to avoid unneeded warning about opening many files.
* Use album artist instead of artist for album repeat mode when available.
* Added extra safety for overwriting files for filesystem storages when organizing files.
* Remove diacritics in FTS search.
* Improved playlist context menu.
* Added fatal CMake error for missing protobuf compiler.
* Added support for parsing radio streams metadata with tilde in title.
* Added CMake option to install translation files.
* Increased maximum time step for seeking to 60.
* (Unix) Added playback actions to desktop file.
* (macOS) Hide behaviour settings that are unavailable on macOS.
* (macOS) Fixed compile warnings.
* (macOS) Added Sparkle integration to notify on new versions.
* (Windows) Added QtSparkle support to notify on new versions.
Removed features:
* Removed Xine engine support.
* Removed broken imobiledevice (iPhone) support.
2.4.1
-----
1. Re-enable custom playqueue background. This is broken for 5.12, but that's a
Qt bug.
2. Look in /usr/lib64/qt5/bin for lrelease
3. Fix deprecation warnings.
4. Enable catagorized view by default, might also be a Qt issue?
5. Remove Encyclopaedia Metallum from lyrics providers, as does not work.
2.4.0
-----
1. Add 'Read offset' setting for AudioCDs.
2. Show invalid files in playlists using red text.
3. Add 'Remove Invalid Tracks' to playlist context menu.
4. Allow OPML URLs in podcast add URL dialog.
5. Allow to read local RSS/OPML files in podcast search dialog.
6. Add action to export current podcast subscriptions to OPML file.
7. Add searching for radio stations on Community Radio Browser.
8. Show bits in technical info.
9. Fix saving, and loading, of custom API keys.
10. Fix saving, and reading back, https:// as MPD music folder.
11. Fix crash when double-clicking outside of table-view (when this is set to
not stretch columns).
12. Fix greyscale images in notifications.
13. Re-add option to save lyrics in music folder.
14. Show Original Year in context view metadata.
15. Add --fullscreen command-line option to start fullscreen.
16. For genres listed in "Composer Support" tweak, shown composer instead of
artist in context view and toolbar.
17. When listing albums in context view, if can't find and for artist, try
composer.
18. When downloading podcasts, use whole path for filename.
19. When subscribing to a podcast, check if there are any downloaded episodes
from a previous subscription.
20. Apply 'Single Tracks' tweak to play queue items.
21. Parse more fields from CUE files.
22. Fix image requests when using composers.
23. Load Various Artist image, if found.
24. If no lyrics found, create initial file when asked to edit.
25. Due to Last.fm changes, use FanArt.tv to obtain artist images.
26. When adding tracks via commandline, only play if queue is currently empty,
otherwise just append new tracks.
27. Support multiple genres in CUE files.
28. Handle more TuneIn responses that are just stream URLs.
29. Add 'originaldate,albumartistsort,artistsort,albumsort" to Cantata local
mpd config.
30. Add Finnish translation - thanks to Tommi Nieminen.
31. Alter behavour of 'previous' button; if played 5 seconds or more, then go
to start of track, else go to previous track.
32. Added Dutch translaiton - thnaks to Heimen Stoffels.
33. In dynamic/smart playlists, when specify a rating also allow to specify
unrated tracks.
34. When matching wildcard genres, look case-insensitively for smart playlists.
35. When matching wildcard genres, if no matches found then use a fake dummy
genre so that no tracks will match rules.
36. Add a checkbox controlling whether Cantata should apply its replaygain
setting each time it connects to MPD. Issue #1531
37. Remove 'Show Unplayed Only' podcasts action, reported to cause crash when
refreshing lists.
38. Remove zooming from context view.
39. When adding a stream to the play queue, encode name using #StreamName:name
and not just #name - as MPD 0.22 uses this for #icy-metadata
40. Categorized view is reported to crash (#1530), so disable by default. Pass
-DENABLE_CATEGORIZED_VIEW=ON to cmake to re-enable.
41. Add 'aac' and 'libfdk_aac' as supported encoders.
42. Custom playqueue background is not working with Qt 5.12 onwards, so
disabled for now. (#1554)
43. Convert podcast descriptions to plain text, trim whitespace, and limit to
1000 characters.
44. Show podcast coves in toolbar, queue, and info view.
45. Show podcast description in info view.
46. Only show cover in toolbar cover tooltip.
py-jsonpickle is one of two choices available to serialize py-music21
objects. Add it by default, since it's a very small dependency. While
here, add another explanatory comment to options.mk.
Changes since 47.1:
DIN Is Noise 48:
/* create drone pendulum based on number of drones instead of spacing
/* convert selected pitched drones to noising drones and vice-versa.
+ CTRL + . to convert selected pitched drones to noising drones
or Menu >> Drone Tools >> Drone > Noise
+ CTRL + , to convert selected noising drones to pitched drones
or Menu >> Drone Tools >> Noise > Drone
/* mute and unmute selected drones
+ SHIFT + , to mute selected drones or Menu > Drone tools > Mute
+ SHIFT + . to unmute selected drones or Menu > Drone tools > Unmute
/* Zero and Reset gravity from Gravity widget
/* Zero velocity of drones
/* Start and End angles for geometry > sound plugins on curve editor
+ ie., Circler, Rose_Milker and Lissajous
+ you can now turn a part - an arc - of rose and lissajous curves into waveforms/envelopes/modulators!
+ Phase for Spiraler
+ End angle found from Turns
/* Start, End points in Countries plugin on curve editors
+ turn 'arc' of a 'country polygon' into waveform/envelope/modulator
/* set Phase of each harmonic in Sine_Mixer
+ press g to toggle between harmonics and phase 'levels'
+ Phase levels is blue
+ goes from 0 deg (bottom) to 360 deg (top)
/* press f to toggle paint harmonics (or phase) in Sine_Mixer
/* overlay last screen (instrument or editor) on curve editor
/* !EXPERIMENTAL! mouse slider increment scaling
When using mouse slider:
press , to set increment to 1/N of original increment
press . to set increment to Nx of original increment
press 1,2,3...9 sets N = 1,2,3...9
press 0 to set N = 10
default N = 10
/* if selected drones exist, set initial menu tab to Drone Params on microtonal keyboard
* ` to flip to last screen
* flip between editors
* flip between instruments
* improved curve editor
* curve samples display, curve component picker, cursor display
* improved auto splitting 'box that has a ball' in Mondrian
* results in better trapping of ball(s) in box(es) :)
! fixed dont warp mouse when mouse slider activation aborted !
! fixed add/remove gravity widget on menu toggle !
! fixed load/save of launched drones !
! fixed reset velocity & gravity !
! fixed crash when clearing all harmonic bookmarks and moving sine mixer !
! fixed name of radius curve in spiraler plugin !
! fixed drones per minute as float instead of int !
! removed release location from the title bar as COVID-19 has grounded me in Chennai, India :( !
Change log:
Music21 v6 is OUT as v6.1.0! This represents over 500 commits over the past 14 months since v5.7 was released.
Many thanks to Jacob Tyler Walls (JTW below) who made so many contributions to the v6 branch, both big and small. Mad props and round of applause!
v6 fully supports Python 3.8 and removes support for Python 3.5. v6 will be the last major release to support Python 3.6 and we will work on Python 3.9 support immediately.
As with all new v.X releases of music21 there are improvements and some backwards incompatible changes (not too many)
In no particular order, here are the things to look for in the new music21 v6:
Type hints throughout music21 -- when you program with a sophisticated IDE you will be able to see what is returned and required as attributes in much of music21.
music21 is no longer packaged with external modules; these will be installed when installing music21 via pip (otherwise run pip install -r requirements.txt). Speed and security improvements come with this.
converter.parse('file.mid', quantizePost=False) will let you load in a MIDI file without any quantizing. (Thanks JTW)
Lots more values cached = faster music21; RomanNumerals in particular are over an order of magnitude faster, and Chords are faster too. If you ever have a problem, all Music21Objects have a .clearCache() function. Just add @cacheMethod as a decorator to a method and it will use the caching routine.
Intervals have been rewritten to use properties entirely. So whatever happens to an Interval, its semiSimpleNiceName (to take one of dozens of examples) will always be up to date. Intervals use Specifiers that are enums like interval. Specifier.PERFECT instead of inscrutable numbers. (those inscrutable numbers still work though) Specifiers are more than just standard enums -- they can invert themselves, do semitonesAboveMajor() etc. Interval geeks rejoice.
Intervals given a noteStart and a name will generate noteEnd automagically. They also get transposePitch() improvements along the way.
KeySignature gets transposePitchFromC() which takes a pitch in C major and returns the pitch in the same scale degree in this key..
Voices with gaps in them work way better in MusicXML. Repeat endings with multiple numbers like 1,2 r/t with musicxml (JTW)
TSV files which encode harmonic analysis can now be parsed (Thanks Mark Gotham)
Humdrum harm spines parse now, giving another way of encoding harmonic analysis. (Thanks Néstor Nápoles López)
MIDI refactor: easier to subclass and extend and with many docs -- keeps a clear distinction between strings and bytes. MIDI values are all Enum classes (but IntEnums so they compare well with pure numbers)
StripTies works much better thanks to JTW -- and does not filter out non-Notes anymore (technically an incompatibility, but really a bug fix). Voices, etc. don't faze .stripTies() any more. Stream.voicesToParts() also preserves more elements. Chords with some notes tied and some don't no longer get merged. Note that stripTies retainContainers defaults to True now, because getting the opposite behavior is as easy as a .flat
Internal but important: lots of parts of music21 code that used abbreviations now spell out the whole word. This is important for our friends using screen readers. While music21 will (for historical/compatibility reasons) still use camelCase for all method names, attribute names, etc., internal variables may now use underscore_case which helps with screen readers.
Stream().write('mxl') will write compressed musicxml (JTW). Or write('...', format='musicxml', compress=True)
Improvements to VoiceLeadingQuartets (thanks Ryaan Ahmed), including finding parallel intervals with octave displacement. voiceCrossing and voiceOverlap detection.
Substantial improvements to RomanText: see https://dmitri.mycpanel.princeton.edu/romantext.pdf
RomanNumerals can specify how they represent ^6 and ^7 in minor with sixthMinor and seventhMinor keywords)
OMR fixers can recognize Turns and other ornaments. More merging here to come. Thanks Janelle Sands!
Substantial improvements to beaming routines and tests (thanks Almog Cohen!)
Keys now have .deriveByDegree() like Scales, so "What minor key has scale degree 3 as B-flat?" can easily be answered.
Improvements to dotted tuplets (Almog Cohen)
Chord.name/fullName now gives better names for common chords like Major/Minor triads -- no longer relies entirely on chord.tables. But even there many improvements and spelling corrections.
Chords expose .notes to get at the notes that make up a chord, in a different way than Chord[0] or for n in Chord -- I'm still an old Perl guy, sometimes There's More Than One Way to Do It, and this way makes some things conceptually much easier and faster.
More Bach Chorale fixes from Doctor Schmidt (thanks!)
Stream.replace(recurse=True) finally works!
StringIndication, FretIndication work in musicxml (thanks Peter Mitrano)
For those who are adventurous -- intervalNetworks are now exposed on scales.
prebase.ProtoM21Object -- an idea ported back from music21j: nearly every object in music21, including all Music21Objects, inherits from this super-lightweight base class which allows for querying classes and giving consistent representations. It makes working in music21 a lot more fun.
Incompatible Changes
Stream filters now return a new StreamIterator. So old code like:
s = stream.Stream()
sIter = s.iter
sIter.getElementsByClass('Chord')
list(sIter)
should now be written as:
s = stream.Stream()
sIter = s.iter
sIter2 = sIter.getElementsByClass('Chord')
list(sIter2)
For most people using filters within a for-loop, nothing will appear to have changed.
if element in stream now only returns True if the element is actually in the Stream, not if element is equal to something in the Stream. This is not normal Python behavior for __contains__ but it is something music21 users have counted on for a decade, and now it is assured.
MIDI has been completely refactored, so if you are mucking with MIDI internals, it's going to be completely different. If you're just using converter.parse and .write('midi') it won't have changed much.
Also
Setting a pitch's accidental to a number is deprecated and to be removed soon. use b = pitch.Pitch('B4'); b.accidental = pitch.Accidental(-1).
some long deprecated functions removed, such as Stream.restoreActiveSites, Stream. _yieldReverseUpwardsSearch, common.standardDeviation (use statistics.stdev instead).
Chord sort methods no longer return the chord itself if inPlace=True
interval.convertSemitoneToSpecifierGenericMicrotone, convertSemitoneToSpecifierGeneric now return a Specifier Enum as their first value
Spelling corrections that are technically incompatible: Interval.perfectable replaces typo Interval.prefectable. Appoggiatura is spelled correctly with two-gs everywhere it's used (JTW)
stripTies(retainContainers=True) is now the default.
Half-diminished chords have ø7 etc. as their default representation.
MIDI.intsToHexString has become MIDI.intsToHexBytes which does what is says it does.
Small Changes/Bugs squashed:
A malformed spanner in musicxml will no longer crash parsing.
Tuplets are equal if their durations are equal. Better docs for duration equality.
contextSites, next, previous, and getContextByClass have a priorityTargetOnly or activeSiteOnly keyword for searching activeSite only. Speed!
From music21.X import * works much more reliably.
Bugs fixed in feature extraction of keys.
serial allows "P" or "T" to be used for transpositions
Tone-Rows give their row in the repr.
Historical tone-rows no longer have Row in their name. For instance: serial.getHistoricalRowByName('SchoenbergOp37').matrix() -- the old form still works though.
Feature extraction on empty streams (or ones that don't have instruments or something else) works properly (JTW)
Feature output formats can set .ext directly, in case you need a different extension.
viio7 can be specified as vii07
Interval: reverse=True works properly
subprocess.run is used instead of os.system for PNG generation. Thanks Uğur Güney. Fixes using musescore with music21 in Jupyter when spaces appear in filenames. (also thanks to Frank Zalkow)
Better representation for many objects
Error handling for incorrect chord abbreviation is improved. Thanks Vikram Natarajan
Librettists and lyricists can be searched in metadata. .age() works properly for living composers.
MIDI plays back properly in Jupyter again BUT also does not add a delay when writing out a file.
Voice numbers in generated musicxml are now low numbers
pitch.Accidental gets . setAttributeIndependently() in case you want something to look like a flat but only alter 0.8 semitones. (This appeared in v.5 at some point but was never announced)
Note gets a pitchChanged() method which is called by its attached pitch anytime it changes so that caches can be used. Pitch gets an informClient() method which is called anytime the pitch itself changes. There is something similar in Chords too. This squashes a lot of bugs where pitches were changing but notes/chords/scales/etc. did not act like they had changed.
makeAccidentals works properly in Voices (JTW)
MIDI parsing gets more instrument objects from more places (JTW)
zero-length objects at the end of streams were being ignored by makeNotation (JTW)
Show formats: MuseScore 3.5 compatibility. (JTW). Preview is found by default on macOS Catalina/Big Sur -- still works for older OSes. No more 'is your doc > 999 pages?' bugs!
Some Neo-Riemannian docs weren't showing (thanks Adam Spiers)
Tone profiles for key analysis have been corrected. (thanks Micah Walter)
scaleDegreeWithAlteration on Augmented 6th chords works.
.musicxml is fully recognized as a suffix.
Improvements to analysis.windowed (thanks Sandro Luck)
RepeatExpander now does nothing on a score with no repeats. Before, it crashed.
Sousa example couldn't show before (thanks David H. Gutteridge)
Verticality.removeVerticalDissonances now works (also thanks to Gutteridge)
Z-relation for 5Z37 (5Z17) was incorrect (thanks Rodrigo Balthar Furman for spotting this)
Power-users who subclass Stream to be standard storage variants: Stream().coreSelfActiveSite(el) allows for subclassing what happens when an element should normally have its activeSite set to the stream.
Lilypond output with UTF-8 works. Grace notes no longer crash Lilypond. Now that there is a 64-bit binary Mac version of Lilypond, it will not be removed from music21.
RomanNumerals compare with each other. __eq__ logically defined.
Modest performance improvements in sorting (Thanks Alexander Morgan)
Documentation and test improvements and a few bugs squashed in ABC parsing.
f-strings used throughout music21 allowing for more detailed error messages and many bugs to be detected and removed.
Deprecations
interval.Interval.convertSpecifier() deprecated. use parseSpecifier instead.
Humdrum parseData() and parseFile() are deprecated. use the general converter.parse() instead.
.editorial.misc is deprecated, just stick whatever you want on the .editorial object itself.
Gratitude
As always, I want to thank MIT, the NEH, and the Seaver Institute for supporting music21 over the years along with the community of developers who use and give back to music21.
ChangeLog:
### libopenmpt 0.5.2 (2020-08-30)
* [**Change**] `Makefile` `CONFIG=emscripten` now supports
`EMSCRIPTEN_TARGET=all` which provides WebAssembly as well as fallback to
JavaScript in a single build.
* [**Regression**] `Makefile` `CONFIG=emscripten` does not support
`EMSCRIPTEN_TARGET=asmjs` or `EMSCRIPTEN_TARGET=asmjs128m` any more because
support has been removed from current Emscripten versions.
* [**Regression**] Support for Emscripten versions older than 1.39.7 has been
removed.
* PP20: The first few bytes of some files were not decompressed properly,
making some files unplayable (depending on the original format).
Changes since v1.30
v1.31 - 28.08.2020
- The audio channel mixer is floating-point based now, for a theoretical
precision improvement.
- Windows: The 32-bit version now has the same mixer as the 64-bit version
(e.g. you can use >48kHz rates).
- Fixed an issue where the channel panning could overflow if pan was close to
255 ($80) and you had a panning envelope going upwards.
- Fixed another issue with dithering in 16-bit audio output mode (d'oh)
- Dithering is now always enabled for 16-bit audio output mode, and the
"dithering" checkbox has been removed from the config screen.
- Disk op.: When listing modules, only list .wav files if "Save as:" is
set to "WAV".
- Fixed a misplaced pixel on the "Usable" mouse pointer type graphics =)
- Code cleanup (more sensible variable names in the audio mixer)
ncmpc 0.39 - (2020-08-21)
* library page: skip tags when there is only one value
* fix jumping cursor with large scroll-offset values
* key bindigs page: fix crash bug
* key bindigs page: eliminate bogus message "Did you forget to Apply your changes?"
id3ren is used to rename batches of mp3 files by reading the ID3 tag
at the end of the file which contains the song name, artist, album, year,
and a comment.
The secondary function of id3ren is a tagger, which can create, modify,
or remove ID3 tags. The id3 fields can be set on the command line,
entered interactively, or "guessed" from the path and the filename.
Changes since v1.27
v1.30 - 23.08.2020
- Fixed an off-by-one issue when dithering is enabled in 16-bit audio mode
- The WAV renderer now defaults to the same frequency/bitdepth as the ones
selected in the "I/O devices" config screen.
v1.29 - 18.08.2020
- Fix wraparound-issues when using Tab in the pattern editor
v1.28 - 16.08.2020
- Bugfix: Don't redraw the instrument switcher when pressing numpad keys
while certain screens (about/config/help/nibbles) are open.
- Slightly increased the volume precision in the audio channel mixer.
This is most likely not measurable.
- Fixed some errors in the help text
- Small code cleanup
As of 1.24, MATE requires GNU-specific msgfmt features. meta-pkgs/mate/
Makefile.common r. 1.10 expressed this tool dependency using
USE_BUILTIN.gettext=no, but this exposed pkgsrc gettext-libs in the
build environment as well, which some MATE packages then linked
against, but gettext-libs didn't end up being declared as a run-time
dependency, so binary package installations were broken (with the
workaround of manually installing the undeclared gettext-libs
dependency). Express this dependency differently, so GNU msgfmt is
used as a tool without exposing pkgsrc gettext-libs.
(The pkgsrc tooling infrastruture could be altered to provide a
distinct "gmsgfmt" tool, same with "gxgettext", and perhaps others.
Here I'm just immediately concerned with fixing this packaging issue.)
Addresses PR pkg/55503 by Jay Patel.
ncurses Spotify client written in Rust using librespot. It is heavily inspired
by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple
and resource friendly alternative to the official client as well as to support
platforms that currently don't have a Spotify client, such as the *BSDs.
Note: ncspot requires a Spotify premium account.
Packaged in wip by myself, wiz and tnn.
Version 1.0.29 (2020-08-15)
* Add support for Opus files.
* Autotool build system improvements.
* CMake build system improvements.
* Fixes for: CVE-2017-12562, CVE-2017-17456, CVE-2017-17457, CVE-2018-19661,
CVE-2018-19662, CVE-2018-19758 and CVE-2019-3832.
* Add BWF v2 loudness parameters.
* Wave64: Permit and skip arbitrary chunks prior to the data chunk.
* Fix ASAN crash in wavlike_ima_seek().
* Fix IMA-ADPCM encoding for AIFF files.
* sndfile-convert: Handle gsm, vox and opus extensions the same way.
* Add SFC_SET_OGG_PAGE_LATENCY_MS command to get Ogg page latency for Ogg Opus
files.
* Fix parsing of some SD2 files.
* Documentation updates.
* Minor bug fixes and improvements.
Some translation files are installed or not installed depending on the
visibility of qt5-qttranslations in the build environment. For now,
simply explictly require this as a dependency. (It looks like there may
be more translation components to consider, but that's TBD separate
from basic build consistency.) Thanks to wiz@ for mentioning this.
Also, they've bumped the minimum GCC accepted from 4.7 to 4.8.
New features
Option available in Preferences for playback of chord symbols
Mid-staff instrument changes now do almost everything automatically (see below)
Support for Orca (Linux) screenreader
Hairpins, voltas, and other lines now adapt anchor points when dragged
Much more functional piano roll editor (see below)
Splash screen displays progress messages while loading MuseScore
Diatonic pitch up/down (keep degree alterations) shortcuts
Select Similar Elements: Same Beat
#293113: New Score Wizard automatically numbers instruments
#18897: Property for beam style of tremolo (all strokes attached to stem)
#296075: Style for hiding brackets which span to a single staff when empty staves are hidden
#203026: Properties and styles for measure number positioning, including centered and below staff
#65241: Property and style for position of multimeasure rest numbers
#299644: Property for fretboard diagram rotation
Improvements
#16077: Double-click a header, footer, or instrument name to access the dialog for editing it
#27371: Score tabs can now be closed using mouse middle button
Improved layout of two-note and single-note tremolos, with and without stem
#93376: Smooth scrolling during playback in Continuous view
Various improvements to simplify searching and loading backup files
#303617: Metric modulation for dotted eighth to quarter
Automatic collision avoidance between rests and notes/rests in other voices
Staff property to automatically merge rests between voices
Allow selection of multiple similar items with shift+click
Allow "repeating a note" by clicking a notehead then pressing "R" in normal mode
Changes made in Preferences are applied significantly faster
Style options to align chord symbols within systems
More zoom controls
Additional plugin capabilities
Altered keyboard and mouse zoom precision and consistency
Improved performance of applying preferences
Chords playback is on by default (untick the "play" property to disable it)
Adding notes to a tuplet now adds them with respect to the tuplet's space
MuseScore 3 is now available as a Windows PortableApp
Altered Shift+L/R for leading space while in edit mode upon notehead
All symbols are now available for the plugins
Fixes
JACK audio/MIDI worked incorrectly on some platforms
#148311: Loop playback skipped final rests in the last measure
MIDI note-off events were not sent in some cases
Undoing slur addition to a range only removed one slur
Canceling a selection worked incorrectly in some cases
macOS package was not notarized in Apple
Various fixes for the text editing process
Fixed an issue when hiding notes or rests in a voice > 1 causes stems/beams to flip in a bad and unexpected way
Fixed an issue when two grace notes disabling vertical chord alignment (Maximum Shift Above)
Fixed an issue when "maximum shift above" leading to layout weirdness if measure has rhythm slashes and rests
Fixed an issue with inactive "Realize chord symbols" command
Fixed an issue when key signature appears in multiple places on the single staff
Fixed an issue with missing grid of measures in the "timeline" view
Fixed an issue with appearing of empty dialog during the "Save Online"
Fixed an crash during the drag & drop of volta in continuous view
Brackets were displaced in Continuous View
Nested tuplets in linked staves led to corruption
Octave selection was inconsistent in note input mode
Voices worked incorrectly in the parts dialog in some cases
Misclicking when attempting to create a range selection caused the current selection to be lost
On-screen rendering of synthetically emboldened fonts was broken in some cases
Smooth scrolling worked wrong in Continuous view when dealing with repeats
Saving Online a yet unsaved or uncompressed (mscx) file didn't work
Fixed zoom-box 100% selection bug.
Fixed a bug with ignoring of blank lines at top of text elements
Fixed an issue when cut/paste, drag/drop in Piano Roll Editor does not preserve NoteEvent values
Fixed a playback of chord symbols attached to fret diagrams
Fixed a note entry suggested position with no selection and last selected note in voice > 1
Fixed a display of the bold and underlined texts
Fixed the "Save Online" on AppImages
Complete list of issues resolved and improvements implemented
#307433: Fixed crash when adding voltas in continuous view and improved behaviour when there are repeats
#308023: Nothing happens when select Realize chord symbols via tools->Realize chord symbols
#308281: Fixed blank upload dialog on Mac
#307883: Key Signature appears too many times in Parts
#308145: Fixed a missing grid in timeline view
#308371: Fixed the bad stem directions on tab staves
#307945: Two Grace Notes Disable Vertical Chord Alignment (Maximum Shift Above)
#307946: Chord Symbols > Maximum Shift Above is weird if measure has rhythm slashes and rests
timidity for MIDI, and remove the one on vorbis-tools (I've never needed
to try playing an .ogg in GNU Solfege). Basic functionality once again
works nearly by default on macOS, modulo needing to install patches for
timidity. Bump PKGREVISION.