FLAC 1.3.3:
General:
- Fix CPU detection
- Switch from unsigned types to uint32_t
- CppCheck fixes
- Improve SIMD decoding of 24 bit files
- POWER* amnd POWER9 improvements
- More tests.
flac:
- When converting to WAV, use WAVEFORMATEXTENSIBLE when bits per second is not 8 or 16
- Fix --output-prefix with input-files in sub-directories
build system:
- Cmake support
- Visual Studio updates
- Fix for MSVC when UNICODE is enabled
- Fix for OpenBSD/i386
Changes since b162
Beta #163 - 29.07.2019
- SDL updated from v2.0.9 to v2.0.10
- Bugfix: Don't unmute channels when loading a new song (FT2 behavior)
- Bugfix: Disk Op. didn't list correct kB/MB/GB filesizes (1000 vs. 1024)
+ rounding upwards on kB/MB/GB sizes.
- The Trim screen is a bit cleaner looking now
- Instrument slots are now allocated as needed (FT2 behavior). This new
behavior means little to the user, but makes it easier for me to port the FT2
code more directly when it works like this. This also means that XMs are
now saved exactly the same way FT2 does it, except for certain uninitialized
instrument header fields (FT2 bug) being set to zero.
- Updated the help text
fixes at least the following bugs:
CVE-2018-19800 prevent a possible buffer overflow in new_aubio_tempo
CVE-2018-19801 prevent a null-pointer dereference in new_aubio_filterbank
CVE-2018-19802 prevent a null-pointer dereference in new_aubio_onset
Changes since the v0.10 release:
* Fix two potential integer overflows. (These were not security-critical unless the compiler took the opportunity provided by the undefined behavior to format your hard drive.)
* Allow JPEGs in METADATA_BLOCK_PICTURE tags to include EXIF data.
* A few warning fixes for gcc 8.
* Make opus_tags_copy return OP_EFAULT on failure instead of returning success.
* Various integration and testing environment improvements.
This release is backward-compatible with the previous release.
We recommend all users upgrade.
News
----
v1.2.4 released:
* Fix broken `ebur128_loudness_global_multiple()` function. Since v1.1.0 it
calculated the relative threshold just from the last state given to it,
resulting in wrong values.
* More tests
* Fix some minor build issues
* Fix uninitialized memory in `ebur128_init()`, possibly resulting in wrong
values
v1.2.3 released:
* Fix uninitialized memory access during true peak scanning (bug #72)
v1.2.2 released (v1.2.1 was mistagged):
* Fix a null pointer dereference when doing true peak scanning of 192kHz data
v1.2.0 released:
* New functions for real time loudness/peak monitoring:
* `ebur128_loudness_window()`
* `ebur128_set_max_window()`
* `ebur128_set_max_history()`
* `ebur128_prev_sample_peak()`
* `ebur128_prev_true_peak()`
* New FIR resampler for true peak calculation, removing Speex dependency
* Add true peak conformance tests
* Bug fixes
Changes in Rubber Band v1.8.2
* Fix a number of small memory leaks
* Make stretcher more robust to being fed invalid input (with NaNs)
* Include iOS build file
* Various platform build fixes and improvements
The API is unchanged and the library is binary compatible with
version 1.7.
1. Adds the __sun / sun macro check.
2. libiconv is now explicitly linked to allow multi-platform builds.
3. Uses stat(2) in SmartOS for checking directory types.
Thanks to wilbury for testing.
libmpg123:
* Fix out-of-bounds reads in ID3 parser for unsynced frames. (oss-fuzz-bug 15852)
* Fix out-of-bounds read for RVA2 frames with non-delimited identifier. (oss-fuzz-bug 15852)
* Fix implementation-defined parsing of RVA2 values. (oss-fuzz-bug 15862)
* Fix undefined parsing of APE header for skipping. Also prevent endless loop on premature end of supposed APE header. (oss-fuzz-bug 15864)
* Fix some syntax to make pedantic compiler happy.
The serious bugs trigger Denial of Service either via the nasty endless
loop in supposed APE tags or by crashes if the invalid reads hit a
diagnostic by the OS or, more likely, a security mechanism like the
sanitizer instrumentation that enabled finding the bugs.
I do not have CVE numbers for these bugs.
I rather fix the bugs than name them. Just update, will you?
Version 2.8, 2019-02-07 (maintenance and minor feature release)
* When running in a 32-bit process within 64-bit Windows (WoW64),
use the VAMP_PATH_32 environment variable instead of VAMP_PATH
(hosts running in this context already use "Program Files (x86)"
instead of Program Files)
* Fix off-by-one rounding errors in frame-to-ns conversions. Unlike
the other changes here which are invisible to plugin code, this
change can lead to different results in the lowest significant
figures from existing plugins if relinked against the newer code
* Fix path environment variable character encoding handling on
Windows
* Fix theoretical possibility of integer overflow in RealTime
constructor
* Fix use of undefined behaviour in PluginRateExtractor
Version 2.7.1, 2017-03-06 (maintenance release)
* Fix inclusion mechanism for FFTs which could cause a host
application to crash in certain circumstances due to
conflicting versions of C-linkage symbols
Version 2.7, 2017-02-24 (maintenance and minor feature release)
* Add ability to PluginLoader to list plugins only in (or not in)
certain library files
* Fix fixed-sample-rate output timestamps in printout from the
simple host, and add regression test script using test plugin
* Switch the convenience FFT interface for plugin usage from the
very slow reference implementation previously provided, to the
somewhat faster KissFFT
* Add a top-secret compiler flag to switch internal FFTs to single-
precision only
* Fix some small but long-standing memory leaks and minor bugs
* Add libtool support in install and build targets
* Add libtool support to test target
* Add endian.h header for macosx
* Bump PKGREVISION
closes PR pkg/54368
What's new in 0.4.3:
- New API addition: WildMidi_InitVIO(). It is like WildMidi_Init(),
- but tells the library to use caller-provided functions for file IO.
- See wildmidi_lib.h or the man page WildMidi_InitVIO(3) for details.
- This was suggested and implemented by Christian Breitwieser.
- Fixed Visual Studio optimized builds (bug #192, function ptr issue.)
- Fixed a thinko in one of the buffer size checks added in v0.4.2.
- Fixed possible out of bounds reads in sysex commands (bug #190).
- Fixed invalid reads during config parse with short patch file names.
- Do not treat a missing end-of-track marker as an error for type-0
- midi files (bug #183).
- Fixed bad reading of high delta values in XMI converter (bug #199).
- Fixed a memory leak when freeing a midi (bug #204).
- Fixed slurred/echoy playback at quick tempos on looped instruments
- (bug #185).
- Fixed certain midis sounding different compared to timidity, as if
- instruments not turned off (bug #186).
- Fixed compilation on systems without libm.
- Support for RISC OS, Nintendo Switch and PS Vita.
- Several clean-ups.
What's new in 0.4.2:
- Fixed CVE-2017-11661, CVE-2017-11662, CVE-2017-11663, CVE-2017-11664
- (Bug #175).
- Fixed WildMidi_Open() might read beyond buffer with too short inputs
- (Bug #178).
- Fixed a buffer overflow during playback with malformed midi files
- (Bug #180).
- GUS patch processing changes to meet users expectations (Bug #132).
- Worked around a build failure with newer FreeBSD versions failing to
- retrieve the ONLCR constant (Bug #171).
- Fixed a minor Windows unicode issue (PR #170).
- A few other fixes / clean-ups.
What's new in 0.4.1:
- Fixed bug in handling of the "source" directive in config files.
- Fixed a nasty bug in dBm_pan_volume. Other fixes and clean-ups.
- Build system updates. Install a pkg-config file on supported platforms such as Linux. New android ndk makefile.
- File i/o updates.
- Support for OS/2.
- Support for Nintendo 3DS
- Support for Nintendo Wii
- Support for AmigaOS and its variants like MorphOS and AROS.
changes in pkgsrc:
* switch from libmad to libmpg123 for mp3 decoding.
it's more actively maintained.
* switch from libaudiofile to libsndfile for lossless formats.
it's more actively maintained.
* add more options, and try to clarify existing options to
make it obvious what is being enabled.
* enable ffmpeg by default so playing m4a files works
* fix cdparanoia support
ver 0.21.11 (2019/07/03)
* input
- tidal: deprecated because Tidal has changed the protocol
* decoder
- wildmidi: log error if library initialization fails
* output
- alsa: fix busy loop while draining
- alsa: fix missing drain call
- alsa: improve xrun-avoiding silence generator
- alsa: log when generating silence due to slow decoder
- alsa, osx: fix distortions with DSD_U32 and DoP on 32 bit CPUs
* protocol
- fix "list" with multiple "group" levels
Changes since b161
Beta #162 - 12.07.2019
- Added a "Hardware mouse" option in Config -> Layout
- Changed the help text a little ("Problems/FAQ" and "Known bugs")
* Updated Esperanto, Portugese and Turkish translations to the users manual
* Updated Spannish and Turkish messages
* distribute solfege/tests/lesson-files/*
* help/C/scales/modes.html are never translated. So we must link to the
C-locale file in every translation.
* gettext tweaks to make the test suite work both when run as "test.py" and
"test.py test_lessonfile". There is still something wrong because we have
to disable the test to run debuild
* distribute solfege/tests/lib/* and solfege/test/include/*
3.22.1:
* Adjust some of the short interval names used when selecting intervals to
practise:
u->P1 4->P4, 5->P5, tt->TT, p11->P11, p12->P12, tt8->d12. Added long name
for
intervals from Eleventh to Double Octave.
* Fix the bug where we could not select the Default profile
* Updated Esperanto, Spannish, Polish, Turkish, Vietnamese, Norwegian
bokmål,
Brazilian Portugese and Vietnamese translations.
3.22.0:
Improvements
* interval exercises: added larger intervals, up to double octave
* elembuilder: make the answer buttons insensitive when the user is
not supposed to click on them.
* added the header.statistics_matrices lesson file variable
* mpd: try to avoid crashing noteheads when displaying two noteheads
at the same step, but with different accidentals.
* the statistics page for each exercise now have a button that let
us delete the statistics for the exercise.
* The --debug option will also show the module name as a tooltip for
the link button that starts the exercise.
* Make the "Guess answer" button be sensitive only when the user
have entered an answer.
* Statistics viewer: added a row to the percentages table showing
count and percentage correct for all questions asked in the session,
day, week and all-time.
* The frontpage will show the filename if the app is started with
the ``--debug`` command line option.
* idtone exercise: show statistics when the user configure the
module himself. And remember the config.
* We can now place exercise modules written in Python in
~/.solfege/exercises/dirname/modules/
New modules:
* added the ``toneincontext`` exercise module
* added ``solmisation`` exercise module. Thanks to Jan Baumgart and
Folkwang Universitaet der Kuenste
Build fixes:
* version_info build fix
* test.py: move some code so that running a subset of tests also
will create and remove tmp directory
* make dist: include the files in exercises/regression-lesson-files/share/
* build fix to avoid problem with too long list of files
* add INSTALLDIR/exercises/standard/lesson-files to the include()
functions search path
Bug fixes
* elembuilder: fix the backspace accel
* fix bug #237
* rhythmtapping and rhythmtapping2: rest handling bugfix
* HarmonicProgressionLabel: set_alignment bugfix.
* compareintervals: fix "Repeat first" and "Repeat last" sensitivity
* SolfegeApp: don't sync the statistics database until the last
exercise is shut down.
Lesson file writing:
* added import and rimport statement
* remove all support for file formats that depent on lesson_id. Did
not remove the lesson_id variable from lesson files since this would
reset the statistics.
* dataparser will parse to a parsetree that we interpret.
* lesson file modules: tmp hack to let different lesson file modules
have different default values to variables.
* documentation: the intervals lesson file variable was documented wrongly.
* Linux -> GNU/Linux search-and-replace
* 140% line-height in the generated user manual
* the elembuilder module changed how it stored its statistics. So all
elembuilder statistics will be lost. We will save a backup of the
statistics database the first time 3.21.2 is run.
* gu.FlashBar: display extra strings (set by kwargs) in the same font
as the rest of the string.
* Put a deprecation notice in the chord modules gui.
* small fixes here and there...
3.20.7:
* Updates to Persian, Czeck, Danish and Norwegian translation.
* Added Kroatian translation
3.20.4:
* Fix rest handling in the rhythmtapping and rhythmtapping2 modules
* Bug fix to interval tests: select tones that are within the range of
the input widgets. (Closes bug #247)
* Translation updates
* Downloading of ALSA modules will download 1.0.24 instead of 1.0.22
3.20.2:
* Add a gtk.ScrolledWindow to the dialog showing file locations to
make sure the dialog is smaller than the screen.
* minor build fixes
* mark a few more strings for translation and grammar fixes (by Ruslan Fedyarov)
* Alt-Left will go to the previous menu while navigating exercises.
* bug fix: make strings in lesson files that use format strings translatable.
* "Accordion (Belgian Do 2)" interval input widget.
* Show alsa sequencers that register as alsaseq.SEQ_PORT_TYPE_APPLICATION
* Updated translations: French, Spanish, Turkish, Russian, German
* interval_in_key_min: lesson_heading spelling fix
* make "90%" the the default value if test_requirement is missing.
3.20.1:
* automate 0install binary tarball creating and script to update solfege.xml
* Bugfix to generate_lessonfiles.py: Believe it or not, but we defined
minor second as 16/12 and not 16/15.
* Search bar: decode the strings we get from the gtk.Entry into unicode.
* Always let the staff lines be as wide as the MusicDisplayer
* Add "Lock to key" feature. This is an experimental feature. Actual
GUI solution may improve later.
* polish folk songs: Fix singlequoted strings that where written as
multiline strings.
It works, but it does not mean you should do it. Use triple-quoted
strings for multiline strings.
* simplify and rename to get a more precise name:
`mpdutils.int_to_notename` -> `int_to_octave_notename`,
`mpdutils.int_to_user_notename` -> `int_to_user_octave_notename` and
simplified `mpdutils.notename_to_int`
* String fixes:
* Python should be capitalized
* Fix bad english thanks to Ruslan Fedyarov
* Mark one more string for translation
* the test target will check for bad spellings for "user manual":
"users manual" and "user's manual"
* Updated Russian, French, Dutch and Polish translations
* configwindow: handle soundcard.alsa_sequencer.get_connection_list()
returning an empty list. I think this fixes `bug #234
<http://bugs.solfege.org/234>`_
* set branch to 3.20 in configure.ac
* Removing things from the test: target of Makefile.in since
tools/make-release.py will do more
* docbook xml markup bug fixes to help/fr and help/pl
* autogen.sh: remove old gandiserver exception
3.20.0:
Improvements and changes:
* New exercise modules: rhythmdictation and rhythmdictation2
* New middle layer code in the mpd module. The parser now generates
objects from the mpd.elems module. This API is also used by the rhythm
editor widget.
* Initial ALSA sequencer support. Added a tool (available on the Help
menu) that downloads and compiles ALSA drivers.
* identifybpm: play rhythms with the normal mpd API instead of
gobject.timeout_add
* singinterval: select violin or bass clef depending on the pitch of
the highest and lowest tone.
* the config window is built with a gtk.TreeView instead of a
gtk.Notebok, and interval input accels are now configurable
* added some missing interval exercise configurations and reorder the
sections making them uniform.
* Change FlashBar to handle labelobjects
* `0install </zeroinstall/solfege.xml>`_ package for Linux
* Timidity is the default midi player on linux.
Bug fixes:
* front page editor: escape titles and file names in saved files, so
that ', " and \ are handled correctly.
* Fix rnc so that it works with the sharp symbol, and the unicode
version of both flat and sharp.
* Make sure the optimisation for very large front page files are used.
This is required for very large files, like the Bach choral package.
* solfege_c_midimodule: don't link libm unless we also link agains
librfftw and libffrw
* Don't rebuild generated music theory images if skipmanual=yes (bug #222)
* midifilesynth: filter out duplicate %s in the midi player args.
Duplicate %s would make the music play twice.
* Fix the Rhythm music object class so that it uses the percussion
instruments selected in the preferences window, as the user manual say
it should.
* RhythmDictation2Lessonfile: fix it so that it uses the percussion
instruments selected in the preferences window.
* don't crash on unicode BOM in lesson files.
* bug fixes to the instrument selection code in the preferences window.
* Use different API querying the screen resolution to avoid segfaul on
debian lenny.
* Make elembuilder handle questions where the answer is only one
element. Fixed by Andre Maute
* statistics: handle the deletion of the tests table correctly.
* win32: fix importing of old format front page files.
* Lots of other small fixes.
3.18.8:
* fix bug #209 (http://bugs.solfege.org/209). Thanks to Ralf Hain for
reporting this.
* Add 3 missing "second to octave" exercises: compare intervals, both
melodic and harmonic, and sing-intervals. Small reorder so some
sections, so all interval exercises present the lessons in the same
order.
* sing-intervals: the "Second to octave" exercise had a bug only
asking for ascending intervals up to octave, not tenth.
* mpd.parser: bugfix to relative mode. The following code would have
wrong octaves:
\staff
\transpose d
\relative c''{
c d e e'
}
* Merge solfege.dev revno 1852: show_exercise_theory fix
3.18.7:
3.18.7 October 29, 2010
* Updated Dutch and Italian translations
* idbyname: fix it so that tests work when expert mode is selected.
* Upgrade debugtree.txt to the latest file format.
* lessonfile.py: set exercise_dir in a portable way. Fixes bug on ms windows.
* ExerciseView: Don't use gtk.SizeGroup when we display many exercises
since there are performance issues with it.
3.18.6 October 24, 2010
* win32: strftime did not accept unicode strings causing a traceback
when the statistics was shown.
* validate_stored_statistics: don't try to delete from the 'tests'
table, since it should be removed by now. Fixes
http://www.solfege.org/SITS-Incoming/NoDescription-YF
* Show dialog explaining things if the database is locked.
* frontpage: Escape backslash and apostrophe used in titles.
* Make elembuilder handle questions where the answer is only one
element. Fixed by Andre Maute.
3.18.5 October 18, 2010
* Use different api to get the screen width and height. This to avoid
segfault on debian lenny.
* Make the install target skip compiling the .py files if nopycompile=YES
* Change to use htmldoc for generating the PDF version of the user
manual. We still have encoding troubles for some languages, but doing
it manually with openoffice is too much work.
* Workaround for the bug where 'None' is stored as the key in
singinterval exercises. http://bugs.solfege.org/205
* Updates to the russian translation of the user manual
3.18.4 October 12, 2010
* Should work with swig 2.0 now. http://bugs.solfege.org/202
* Fix bug in the preferences window code that let us select accels for
the idtone exercises.
* Updated Danish, Russian, Vietnamese and Chinese translations
3.18.2 & 3.18.3 October 5, 2010
* Fix import error in the prefernces window. (http://bugs.solfege.org/201)
* Updated Italian and Vietnamese translations
3.18.1:
* Updated Esperanto, Polish and Italian translation.
* Don't import tuner.py when running solfege with the --debug option.
* Windows sound driver: Fix winmidi.reset so that it will reset the
correct dev num. Thanks to Krzysztof Foltman for telling me how to fix
this. This fix let us use external midi synths on MS Windows.
* Give the synth a little time to process program changes by calling
an extra note_off. The default is 100ms, but this is configurable from
the users solfegerc file.
Changes in 3.18.0 (compared to the 3.16 release). Included here since
3.18.0 was not that widely announced:
* Profile manager
* Preferences window: Add gui to delete statistics.
* Resize main window when selecting exercises to use the scrollbars less.
* The statistics page of exercises will show the 10 latest test results.
* Front page editor: option to search for strings in lesson file
titles when selecting lesson files.
* Export Exercises to Audio Files: add checkbutton that names the
generated audio files after the answer of the question.
* Add missing "Repeat Arpeggio" button to sing-the-fifth
* Updated Esperanto, Brazilian Portugese, Turkish and Persian translation.
* Spelling fixes by Ruslan Fedyarov and dougkerns
* Works with Swig 2.0
* Bug fix to the statistics table, and documented the statistics
tables in the user manual.
* Lots of minor bug fixes and improvements to the code.
3.16.3:
3.16.3
* Fix front page editor bug: failed while moving sections
* cfg.parse_file_info_dict: strip each line to avoid newline problems on win32
* Revert back to Python 2.5.4 since we want to let CSound use our
included python interpreter, and the recommended CSound installer is
built for Python 2.5
* French and Polish translation updates.
* win32: moved some files around and set the PYTHONHOME environment variable.
3.16.2
* Interval.get_cname should return "Tritone" and not "Diminished Fifth"
* Remove some debugging code that accidentally was left in
get_percentage_correct(). This broke the "Identify Tone" exercise.
3.16.0:
New features:
* Added 'atonal' transposition mode.
* More harmonic progressions from Ruslan Fedyarov.
* Added "Compare melodic intervals" exercise
* Statistics are now stored in a sqlite database instead of lots and
lots of small files.
* New main window where we select exercises without the menu bar. Gui
editor that let us edit this.
* Support LilyPond 2.12 in addition to 2.10
* Internally we now refer to lesson files by filename and not
lesson_id. So lesson_id should not be added to new lesson files. But
don't modify old files if you care about loosing your statistics.
News:
* Require Python 2.5. Module reorg. Enable absolute import in all modules.
* User generated lesson files have moved from $HOME/lesson-files to
$HOME/.solfege/exercises/user/lesson-files. The user manual has doc
explaining this change.
* win32: don't show terminal window when running timidity and friends.
3.14.11 February 8, 2010
revno: 1065
* IntervalCheckBox had a bug that caused the Major Decim to be
missing. Reported by Andre Maute.
* Decim->Tenth replace. How could this ever get in???
* make default.config rcfile version 16 compatible. Thanks to
Krause.Chr for fixing this.
3.14.10 December 17, 2009
* Fix bug #149: make keyboard accels work for descending melodic intervals.
* Fix win32 upgrades from 3.11.1 and earlier
* right-click on piano/guitar/accordion widget got the direction wrong.
* rcfile: don't loose xxx_player_options
3.14.9 October 10, 2009
* bugfix: install and uninstall when swig is not installed
* don't loose the interval and csound statistics if upgrading from
older releases.
3.14.8 September 29, 2009
* Simplified Chinese translations for by Fan Rui and Ji ZhengYu
* Mark a few more strings and the music theory pages for translation.
* Add harmonics to the csound exercises. Contributed by Tarmo Johannes
* Some build fixes: handle missing swig and lilypond better
* Translation updates.
* Remove more debug print statements that I believe causes "bad
filedescriptor" errors
3.14.5 June 29, 2009
* Unicode error during build fixed by using the codecs module to
load learning trees.
* Updated fr, nl, pt_BR and tr messages.
* Updated fr and pt_BR user manual translation.
3.14.4 June 9, 2009
* Fix broken link to the related music theory. It was broken in
some exercises.
* ConflictResolveDialog: set use_underline to False so that
filenames containing a underscore ('_') are displayed correctly.
* Update src/runtime.py to check that we have at least Python 2.4
and PyGTK 2.12
* Updated Danish, Polish, Brazilian Portugues and Russion translations.
3.14.3 April 27, 2009
The secret release. Forgot to announce it.
* Don't print debug statements, since we get IOErrors because of
it when the stdout buffer is full on win32
* bugfix: the small buttons representing parts of the dictation
where all playing the whole music.
* Updated Russian and Finnish translation.
3.14.2:
Changes since 3.14.1:
* Fix http://www.solfege.org/SITS-Incoming/NoDescription-HA
* It should now be possible to build without a X display.
* Updated translations
Changes since b160
Beta #161 - 04.07.2019
- Bugfix: If you held down a sample data loop pin while a system request was
about to be shown, the loop pins would act strange lateron.
- Bugfix: Fixed a MIDI-related memory leak when pressing "Load config." in the
Config screen.
- Bugfix: The palette editor scrollbar thumbs would not draw properly when
dragging them.
- Bugfix: Attempting to sample in stereo (Smp. Ed.) at the last sample slot
would result in a crash.
- Bugfix: Using keyboard shortcuts to interact with a system request/message
could trigger an unwanted "note key up" event after the box closed. (déjà vu)
- The palette editor is now rewritten to behave exactly like original FT2
- Code cleanup
- Updated src\gfxdata\bmp\readme.txt