Beast 0.11.0 and Rapicorn 17.0.0 are out.
Beast is a Music Synthesizer and Composer,
Rapicorn is an SVG-based toolkit for declarative UI construction.
After the positive feedback from rc1 in the last week it's time for a proper
release, so here are the final tarballs:
https://dist.testbit.org/beast/beast-0.11.0.tar.xzhttps://dist.testbit.org/rapicorn/rapicorn-17.0.0.tar.xz
Fixes since last week's rc1 include i18n, namespace issues in the BSE header
files, some PD licensing clarifications and avoiding assert or aborting error
functions in library code.
Overall, the Beast 0.11 release brings a truckload of new stuff like soundfont
support thanks to Stefan Westerfeld, true multi threading for the DSP module
calculations, faster startup times and a number of bug fixes.
We are also starting to install/package the experimental ebeast code, but
that's not yet fully working and has major changes in the queue for upcoming
releases.
The long non-functional Scheme scripting backend has been removed, the plan is
to support more former-script functionality in the UI and in the distant future
possibly allowing scripts again that also have access to UI components.
Building distributions now uses git archive which avoids a lot of tedious
autotools updates before releases.
Notably the packaging scheme has been changed so that Beast is now installed
under $prefix/lib/beast-VERSION and optionally supports --with-pkgroot which
allows to build Beast as /opt/beast-VERSION. Symlinks are provided from /usr
or $prefix subdirs like bin/ and mime-info/ into the Beast package dir as
needed. This enables binary package builds under /opt/beast-0-11 with symlinks
installed in /usr, like e.g. google-chrome-stable*.deb does it.
The binary package for this release is here:
https://dist.testbit.org/beast/deb/beast_0.11.0_amd64.deb
Numerous additions also went into the new Rapicorn release, but pace will be
slowing down here to put more focus on Beast in the future. A binary build of
the Rapicorn tarball is integrated into the Beast binary package, as Beast is
the only known user of Rapicorn atm.
The release NEWS for the tarballs can be found online:
https://github.com/tim-janik/beast/blob/0.11.0/NEWShttps://github.com/tim-janik/rapicorn/blob/17.0.0/NEWS
The shortlogs are appended.
--
Yours sincerely,
Tim Janik
https://testbit.eu/timj/
Free software author.
Stefan Westerfeld (67):
Use creative commons publicdomain URL instead of LICENSE-AS-IS.
BST: fix translation questions, patch by Stefan Westerfeld
BSE: more Bse:: namespace for uint8, uint32 and uint64 in bse includes
BSE: add proper Bse:: namespace to uint8 and uint64 in bse includes
TOOLS: bsefextract: don't segfault if input file is empty
BSE: fix midi import problems related to Bse::Song API updates
TOOLS: fix average energy output for completely silent samples
BSE: SF2: disable unimportant fluid messages
BEAST: bstmain.cc: fix compilation problem (__unused undefined)
TESTS: testresampler: fix signedness related bug in FFT windowing
BSE: SF2: fix make check by using sample path to locate soundfonts
BSE: SF2: move remaining data members from SoundFontRepo to Impl
BSE: SF2: move more fluid* data members to SoundFontRepoImpl
BSE: SF2: move sound_fonts GList to SoundFontRepoImpl and use std::vector
BSE: SF2: move preset vector to SoundFontImpl object
BSE: SF2: store sound font presets in std::vector instead of GList
TESTS: add required sf2 files to EXTRA_DIST
BSE: SF2: move more data members from BseSoundFont to Bse::SoundFontImpl
BSE: SF2: fix extremely rare temp file name collions; use better prefix
BSE: SF2: store tmp files under $XDG_CACHE_HOME/libbse or ~/.cache/libbse
TESTS: audio: add soundfont-test, which tests basic sound font replay
BSE: SF2: BseStorage::Blob: replace C style API with C++ style API
BSE: SF2: use std::shared_ptr for blob reference counting
BSE: SF2: use std::vector for BseStorage blobs instead of g_renew
BSE: SF2: replace lock/unlock based repo locking with std::lock_guard code
BSE: SF2: replace std::list with std::vector in midi receiver code
BSE: SF2: move mutex to C++ soundfont repo c++ impl class
BSE: SF2: use std::vector for oscs|channel_map instead of manual allocation
BSE: SF2: replace manually allocated repo arrays with std::vector
BSE: SF2: remove extern "C" from header
BEAST: SF2: remove G_BEGIN_DECLS|G_END_DECLS from headers
BSE: SF2: remove G_BEGIN_DECLS|G_END_DECLS from headers
BSE: SF2: Fix a few signedness warnings in sound font code
BSE: SF2: remove generated file which should not have been checked in
BSE: SF2: set fluid synth gain to 1.0 (default is 0.2)
BSE: SF2: move sound-font-snet from zintern to res; fixes sf2 playback
BSE: SF2: replace g_object_new() with bse_object_new()
BSE: SF2: add documentation how the fluidsynth engine is used in sound font osc modules
BSE: SF2: use mixfreq to compute number of silent samples required for done output
BEAST: SF2: adapt code to c++ified beast codebase
BSE: SF2: adapt code to c++ified beast codebase
BEAST: fix crash: assigning NULL to std::string is an error
BEAST: link beast against python libraries, fixes build on KUbuntu 16.04
BUILD: update glib-gettext.m4 to latest version from glib git repo
BEAST-GTK: remove sound font related debugging code
BUILD: include the right sound font header file into beast_headers
BEAST-GTK: Added necessary gui support for browsing sound fonts
BEAST-GTK: added new sound font view radget
BEAST-GTK: added sound font view as widget
BEAST-GTK: implemented browsing and selection of available sound fonts
BEAST-GTK: added code for sound font repository super class
BEAST-GTK: added file dialog support for loading sound fonts
BUILD: added beast-gtk files for sound font support
BSE: implemented BseSoundFontOsc, which wraps fluid synth computations.
BSE: added sound font support for bse projects wrapping fluid synths structures.
BSE: added zintern snet for sound font preset replay
BSE: allow sound font presets as instruments for a track.
BSE: implemented new concept: BseStorageBlob
BSE: fixed typo in bse server
BSE: fixed typo in bse source
BSE: added global sound font repository to each project
BSE: added code which allows modules to get midi events from receiver
BSE: fixed typos
BSE: added BseSoundFont* typedefs
BSE: removed unnecessary code in constant module
BUILD: added new files for sound font support
BUILD: added configure check for libfluidsynth, required for SoundFonts
Tim Janik (401):
BUILD: release version 0.11.0
NEWS: updates for the next release
PO: updates for make dist
SFI: small BSE_ISLIKELY and BSE_UNLIKELY optimization
TESTS: use Bse::warning() for runtime warnings
TOOLS: use Bse::warning() for runtime warnings
BST: use assert_return and Bse::warning() for runtime warnings
GXK: use Bse::warning() for runtime warnings
PLUGINS: use assert_return_unreached() instead of g_error
BSE: use assert_return() and Bse::warning() for runtime warnings
SFI: add (disabled) helper code to deprecate GLib utility macros
GXK: glewidgets.c: silence compiler
SFI: define and use app_error() for sfidl
SFI: use Bse::warning() for runtime warnings
SFI: remove obsolete sfi_warning, sfi_info, sfi_diag
TOOLS: use Bse::info() for runtime messages
BST: use Bse::info() for runtime messages
DRIVERS: use Bse::info() for runtime messages
BSE: use Bse::info() for runtime messages
SFI: use Bse::info() for runtime messages
TOOLS: remove unused file sfiutils.cc
TESTS: use test_error() for failing tests
BST: use Bse::warning() for runtime warnings
SFI: remove sfi_error() which shouldn't be called by a library
BSE: tests: use test_error() for failing tests
SFI: provide test_error() for failing tests
TOOLS: bsewavetool.cc: exit with our own app_error() for bsewavetool errors
BSE: avoid sfi_error in library code
BSE: avoid g_error in library code
SFI: avoid g_error in library code
TESTS: only use Bse::assert_return{_unreached} and apply small fixes
TOOLS: only use Bse::assert_return{_unreached}
BST: only use Bse::assert_return{_unreached} and Bse::warning everywhere
GXK: only use Bse::assert_return{_unreached}
PLUGINS: only use Bse::assert_return{_unreached}
SFI: sfidl.cc: main: abort if an assertion is triggered
BSE: tests/filtertest.cc: stop program execution on filter assertion failure
SFI: provide brakpoint()
BSE: only use Bse::assert_return{_unreached} and Bse::warning everywhere
SFI: provide return_unless() and assertion_failed_hook()
V8BSE: build v8bse module with BSE_CONVENIENCE
DOCS: build docs with BSE_CONVENIENCE
SFI: use only assert_return and assert_return_unreached instead of assert
SFI: provide assert_return and assert_return_unreached for BSE_CONVENIENCE
MISC: mkbuildid.sh: fix version extraction for -rcX releases
ALL: Actually label "Public Domain Dedication" licenses as "Public Domain"
PLUGINS: compile with BSE_PLUGIN_COMPILATION to pick up Bse i18n macros
PLUGINS: compile with BSE_PLUGIN_COMPILATION to pick up Bse i18n macros
BSE: provide i18n macros for BSE_COMPILATION and BSE_PLUGIN_COMPILATION
BEAST: make use of gettext from glib-extra.hh
BSE: leave gettext to glib-extra.hh, provide _ and N_ only for BSE_COMPILATION
SFI: provide Bse::bse_gettext_domain() and Bse::_() in glib-extra.hh
DRIVERS: compile with BSE_COMPILATION to pick up Bse convenience definitions
PLUGINS: compile with BSE_COMPILATION to pick up Bse convenience definitions
MISC: make-deb.sh: remove FASTZIP options which were used as development aid
configure.ac: version increment to 0.11.0~rc2
BUILD: bump ABI and version to 0.11.0~rc1
NEWS: add updates for 0.11.0~rc1
TRAVIS: remove ubuntu:wily tests, it's nodejs version is too old
BUILD: use am__CONFIG_DISTCLEAN_FILES instead of MAINTAINERCLEANFILES at the top
PO: update po files after scm script removal
README.md: mention the 'npm' dependency, remove 'guile' dependency
BUILD: fix build rules to not require guile anymore
DOCS: adjust to lack of guile
BUILD: Makefile.decl: cleanup 'report' rule
BUILD: Makefile.decl: print extra-gitdist enter/leave directory for V=1
BUILD: Makefile.decl: simplify GITSTAMP by using git reflog entries
BUILD: Makefile.decl: provide QSTDOUT
BUILD: add autotools files to MAINTAINERCLEANFILES
BSE: remove obsolete scripting interface
DATA: remove references to bsescm
DOCS: remove doc references to bsescm
LIBRARY: remove unused scheme scripts
TESTS: latency: disable test, since bsescm is gone
SHELL: remove subdir and guile dependency
BUILD: fix some automake warnings
BUILD: Makefile.decl: remove unused distfile-list rule
BUILD: remove left over rule
BUILD: introduce 'dist: all' dependency to ensure packaged files are uptodate
BUILD: fix uninstall_filter_files to handle lib/beast-<version> prefix
DOCS: build revisions.lst when git is present and ship it in tarballs
BUILD: rename distgit to 'make dist' and support EXTRA_DIST
TESTS: filecheck: trim bsefiles.list and build unconditionally
BUILD: prevent autoconf, autoheader, automake, etc from using stale caches
TESTS: filecheck: use git ls-tree to find BSE files to check
BUILD: remove EXTRA_DIST everywhere, since we package all git tracked files
TESTS: filecheck: throw an error if the file checklist is empty
PLUGINS: fix doc_sources, now that DIST_* variables aren't provided anymore
BUILD: roll our own distuninstallcheck, now we use no-dist autotools
MISC: Dockerfile-apt.in: use 'make distgit'
BUILD: cleanup git archive export files
BUILD: use 'git archive' in rule 'distgit' to create distribution tarballs
BUILD: minor ChangeLog rule fixes
BUILD: exempt mimeinfo.cache from distuninstallcheck
DATA: ship debian/copyright so it can be installed from tarballs
DATA: bse.pc.in: adjust description
DATA: bse.pc.in: fix $beastdatadir references
MISC: make-deb.sh: minor changelog adaptions
MISC: make-deb.sh: provide /usr/share/doc/<packagename>
MISC: install copyright in beast-<version>/doc
DEBIAN: copyright: document misc/ licensing
MISC: add missing license headers
MISC: make-deb.sh: build deb with /opt/beast-<version> and links in /usr
BUILD: allow DESTDIR overrides for pkg-config
DATA: install links into standard filesystem hierarchy, update desktop database
LAUNCHERS: use prominent warning suid setting failed and sleep shorter
BUILD: build/install data/ last, so it can symlink other installed files
BUILD: configure.ac: support --with-pkgroot for /opt/beast-<version>/ builds
BUILD: preserve $datarootdir while installing files in Beast <package> /share
BUILD: preserve $datadir while installing data files in the Beast <package> dir
BUILD: preserve $localedir while installing message catalogs in the Beast <package> dir
PO: show full pathnames on make install V=1
BUILD: preserve $docdir while installing documentation in the Beast <package> dir
BUILD: preserve $bindir while installing executables in the Beast <package> dir
BUILD: preserve $libdir while moving libbse into the Beast <package> dir
MISC: make-deb.sh: package usr/bin and usr/share symlinks
PO: ignore tmp* when looking for untranslated files
MISC: make-deb.sh: move copyright and changelog.Debian.gz into Beast <package> dir
MISC: make-deb.sh: integrate Rapicorn 17.0.0~rc1 into Beast <package> dir
BUILD: move application and mime registry files into Beast <package>/share
EBEAST: move ebeast bundle into Beast <package> dir
BUILD: move library and data files into Beast <package> dir
MISC: make-deb.sh: adjust the DEBIAN/postinst binary path to include versioning
MISC: make-deb.sh: find $BEASTDIR
BUILD: move binaries and locale files into Beast <package> dir
BUILD: move includes, libraries, data and docs into Beast <package> dir
BUILD: add $beastdir / INSTALLPATH_BEASTDIR for /opt/<package> installation
MISC: make-deb.sh: move the final package into CWD
MISC: make-deb.sh: create an /opt binary deb from librapicorn and Beast
MISC: adapt versioning to use 0.10.1~rc1+<commitcount>.g<commithash>
DATA: beast.desktop.in: remove category GTK
DATA: document origin of ancient .keys and .mime files
DATA: fix ancient Gnome mime handler in .applications file
DATA: document and simplify .bse and .bsewave mime registration
TRAVIS: allow_failures for wily and jessie which have broken npm/node deps
MISC: Dockerfile-apt.in: disable check-update-po during docker distcheck
MISC: Dockerfile-apt.in: do ci build against newest Rapicorn from source
TRAVIS: stop deb package builds and uploads
BSE: disable SCM loading, the loading is broken and occasionally hangs
BSE: bsetool.cc: use installpath_override() when invoked uninstalled
BSE: immediately load all plugins and scripts with Bse.server.load_assets()
SFI: use program_alias() for error messages
SFI: support BSE_DEBUG=all
SFI: bcore.cc: fix missing NULL check
SFI: load plugins from objdir if installpath_override() is used
BUILD: provide CONFIGURE_INSTALLPATH_OBJDIR to handle .libs/ subdirs
EBEAST: bundle and install ebeast-<VERSION> under libexec/
BUILD: disable npm based Beast package builds if ebeast/ is not present
EBEAST: ensure node_modules are installed before running lessc
V8BSE: use electron/package.json to detect electron version without DISPLAY
EBEAST: export ELECTRON_ENABLE_LOGGING to catch build error resons
MISC: Dockerfile-apt.in: install nodejs and npm for building ebeast
EBEAST: conditionalize ebeat app build on finding npm
V8BSE: fix printerr usage outside of Bse namespace
EBEAST: create default BseProject for App and update document.title
EBEAST: add StatusBar and a ToolBar with PlayControls
EBEAST: parse command line, handle --version, --help and pass files to App
EBEAST: widgets: provide ButtonBox styling and IconButton
EBEAST: provide @button-active-lg and @button-radius settings in app.less
EBEAST: integrate font-awesome 4.7.0.
EBEAST: pick BrowserWindow defaults from a BrowserWindowDefaults CSS rule
EBEAST: move application logic into app.js
EBEAST: provide single-letter shortcuts for menubar submenu navigation
EBEAST: show About dialog on Help » About...
EBEAST: menus.js: define main application menus
EBEAST: grab focus asynchronously to work around Mithril 1.0.1 m.redraw
EBEAST: add closeonescape to ModalDialog
EBEAST: widgets.js: provide helpers for AnimationFrame callbacks
EBEAST: widgets.js: export symbolic key codes for non-character keys
EBEAST: use a non-serif font for monospace
EBEAST: move version information into a modal About dialog
EBEAST: add css classes to utilize flexbox layouts
EBEAST: move background fallback definitions into .gradient-01-bg
EBEAST: integrate jQuery 3.1.1.
EBEAST: move <button/> styles into assets/widgets.less
EBEAST: integrate mithril 1.0.1
EBEAST: generate panel-background as non-banding linear gradient image
EBEAST: adjust webkit-scrollbar to match dark theme
EBEAST: build objects/app.css from app.less and use it in index.html
EBEAST: use eslint 3.16.1 for linting of *.js files and JS snippets in *.html
EBEAST: use xmllint to lint HTML files
EBEAST: pick a dark Gtk+-2 theme if possible
EBEAST: rename ebeast/index.html
BUILD: ensure MOSTLYCLEANFILES can be used with +=
V8BSE: cache JS wrappers for RemoteHandles to preserve object identity in JS
V8BSE: derive fundamental IDL types from Aida::RemoteHandle to allow generic wrappers
V8BSE: wrap Aida::RemoteMember like Aida::RemoteHandle
V8BSE: allow pointer results from aida_remote_handle_unwrap_native()
V8BSE: wrap vector derived Sequence types by v8:Array copy
EBEAST: display an 'about:' window containing version information
EBEAST: generate package.json and auto-update npm packages
EBEAST: check for 'make npm' and ./node_modules/ before 'make run'
EBEAST: use LD_PRELOAD to pick up -lbse from $(builddir) for 'make run'
V8BSE: build v8bse.node against external/v8pp
V8BSE: link v8bse.node against libbse-0.so, use -rpath to search install path
V8BSE: generate binding.gyp, needed to build v8bse.node with node-gyp
EBEAST: move app, run, npm, npmclean rules here
EBEAST: describe experimental make rules
EBEAST: add Makefile.am
V8BSE: specialise v8pp::convert<> for all Aida::RemoteHandle derived types
V8BSE: generate class inheritance statements
V8BSE: generate class methods
V8BSE: add inactive debugging aid
V8BSE: export bse.server object
V8BSE: hook up v8bse with the GLib or libuv event loops
V8BSE: generate classes with properties into V8stub
V8BSE: build v8bse.node from nodemodule.cc and include V8stub
V8BSE: describe experimental make rules
V8BSE: fixup ignores
V8BSE: V8Stub.py: add skeleton for language binding generation
V8BSE: add basic rules to build v8bse.node module
V8BSE: add rules to fetch node-gyp and electron via npm
V8BSE: add ebeast/v8bse/Makefile.am
Squash 'external/v8pp' content from commit f221bc9d099b
PO: update po files for distcheck
BSE: fix String and string_format references outside of Bse namespace
MISC: Dockerfile-apt.in: install libfluidsynth-dev for building beast
BSE: bsemidireceiver.cc: avoid conditional indentation of switch() statement
BSE: bsemidireceiver.cc: normalize indentation and whitespaces for merging
BSE: bsemidireceiver.cc: allow midi-events and midi-voice change dumps
BSE: bsemidireceiver.cc: assert there's only one VoiceInput per voice at maximum
BSE: bsemidireceiver.cc: fix detection of polyphony voice underruns
BSE: bsemidireceiver.cc: fix missing memory fence
TESTS: increase n-voices in audio tests to work around sequencer timings
BSE: bsesequencer: allow sequencer-events dumps
BSE: synchronize PcmWriter output with song start
SFI: remove deprecated bse_debug_enabled
SFI: make use of Bse::debug()
DRIVERS: make use of Bse::debug()
BSE: make use of Bse::debug()
TESTS: use Bse diagnostics and BSE_CONVENIENCE
TOOLS: use Bse diagnostics and BSE_CONVENIENCE
BEAST: use Bse diagnostics and BSE_CONVENIENCE
GXK: use gxk diagnostics and BSE_CONVENIENCE
SHELL: use Bse diagnostics and BSE_CONVENIENCE
DRIVERS: use Bse diagnostics and BSE_CONVENIENCE
PLUGINS: use Bse diagnostics and BSE_CONVENIENCE
BSE: use Bse diagnostics and BSE_CONVENIENCE
SFI: bcore.hh: provide diagnostics and basic macro utilities in the Bse namespace
DOCS: avoid creation of doc_sources.lst files during make clean or uninstall
DOCS: remove unused imports/Makefile.am
DOCS: build and install sfidl.1 (+ .html) from sfidl.1.md
DOCS: sfidl.1.md: convert imports/sfidl.1 to markdown
DOCS: build and install bsescm.1 (+ .html) from bsescm.1.md
DOCS: bsescm.1.md: convert imports/bsescm.1 to markdown
DOCS: fix TOC indentation for html man pages
DOCS: install all html man pages under doc/beast/html/man/
DOCS: build and install bsewavetool.1 (+ .html) from bsewavetool.1.md
DOCS: bsewavetool.1.md: convert imports/bsewavetool.1 to markdown
DOCS: build and install bse.5 (+ .html) from bse.5.md
DOCS: bse.5.md: convert imports/bse.5 to markdown
DOCS: build and install beast.1.html from beast.1.md
DOCS: build and install beast.1 from beast.1.md
DOCS: build (and ship) revisions.lst to generate revisioned markdown files
DOCS: beast.1.md: convert imports/beast.1 to markdown
DOCS: fix distcheck paths
DOCS: imports: remove unused tagfile import rules
PO: ignore docs/doxy/ when searching for translatable files
DOCS: include tools/ docs
TOOLS: generate doc_sources.lst
DOCS: majorly simplify and speed up doxygen documentation generation
DOCS: add nicer CSS for doxygen
DOCS: add sample references.bib
PLUGINS: generate doc_sources.lst
DOCS: move tagfile-susv4.xml.bz2 and tagfile-rapicorn.xml.bz2 here
DOCS: update the cppreference tagfile to the archive version from 20151129
BEAST: generate doc_sources.lst
GXK: generate doc_sources.lst
BSE: generate doc_sources.lst
SFI: generate doc_sources.lst
DEBIAN: beast.install: install HACKING, COPYING, NEWS, README
TOOLS: avoid shipping generated ../topbuildid.cc
BEAST: avoid shipping generated ../topbuildid.cc
BSE: avoid shipping generated PNGs
BUILD: install HACKING README NEWS COPYING
BSE: avoid shipping generated bsegentypes.h
BSE: avoid shipping generated bseclientapi.hh
BSE: avoid shipping generated bsehack.idl
BSE: avoid shipping generated bseserverapi.hh
BSE: gsl-fftgen.pl: avoid redundant printf arguments
BSE: avoid shipping generated gslfft.cc
BUILD: remove unused GENERATED_EXTRA_DIST
BSE: avoid shipping generated enum sources
GXK: avoid shipping generated enum sources
BSE: avoid shipping files generated from .proc
BUILD: configure.ac: detect GCC when invoked with an alias
BUILD: test 'make clean' after build as part of distcheck
BUILD: distcheck: support parallel builds, distuninstallcheck and $(DESTDIR) checks
BUILD: add 'distcheck' to try builds out of tree and with srcdir==builddir
PO: check-unlisted: use pipefail and 'readlink -ve' to catch errors in pipelines
TRAVIS: minor tweak to easily spot distcheck builds on travis-ci.org
PO: update po files for distcheck
TRAVIS: test builds on ubuntu:zesty, debian:unstable and debian:stretch
MISC: Dockerfile-apt.in: explicitely require gccbuild intent
MISC: dockerbuild.sh: support --no-cache to be passed on to docker build
TOOLS: work around maintainer-clean removing included dependency file too early
BUILD: autogen.sh: speed up by some +40% by avoiding autoreconf
DEBIAN: patches: adjust file paths in patches to account for -p1
BSE: turn Item::icon into a read-wrtie property
BSE: add Bse::icon_sanitize() to ensure consistency of icon fields
BSE: derive ObjectImpl from DataListContainer for type save data extensions
BSE: slave: ensure proper locking around changes to thread alive condition
BSE: slave: recheck thread alive condition before entering conditions waits
BSE: use ProjectImpl.create_song() instead of an old purged procedure
SFI: tests: fix testsfidl linkage missing sfi_init()
BEAST: remove duplicate definition of __unused (provided by Rapicorn)
BSE: adjust number of slave DSP threads to the number of available CPU cores
BSE: start 3 additional DSP slave threads to process modules concurrently
BSE: make bse_engine_const_values thread safe and simplify implementation
BSE: _engine_pop_unprocessed_node: avoid race condition for node lock
BSE: remove code for non-threaded engine (unused for many years)
BSE: bsestorage: use Rapicorn::string_format() for bse_storage_printf()
BSE: bsestorage: whitespace fixes
BSE: bsestorage: replace g_strdup_printf with g_strdup_format()
BSE: SF2: upgrade sound-font-snet.bse to version 0.8.1
BSE: SF2: use C++ inheritance for GObject struct derivation
BSE: SF2: port storage blob to Rapicorn Mutex
BSE: SF2: use Bse::TickStamp instead of old gsl API
BSE: SF2: fix missing bse_sound_font_repo_finalize and use Rapicorn Mutex
BSE: remove largely unused BSE_*_VERSION defines
LAUNCHERS: remove unused bseshstart.c
BSE: match and load all plugins, identified by extension ".so" or ".dll"
PLUGINS: avoid building explicit non-SIMD version of plugins
DEBIAN: adapt 10-skip-update-mime.patch to configure.ac changes
BUILD: use only config/config.h for autoconf results
BUILD: remove BST_VERSION_HINT
BUILD: configure.ac: fix a bogus clang++ warning
BUILD: configure.ac: combine dependencies into one LIBBSE pkg-config check
BUILD: support clang++ options and various sanitizers for --enable-debug
TOOLS: fix automake warning
BUILD: configure.ac: move 'subdir-objects' option, to apply to all Makefiles
BUILD: autogen.sh: avoid calling ./configure if $NOCONFIGURE is set
BUILD: acbeast.m4: provide MC_ASSERT_VERSION
BUILD: move autotools files to config/ and require srcdir==builddir
BSE: remove extern "C" from plugin export symbols
BEAST: use Bse::objects_debug_leaks()
BEAST: use BseServer.tick_stamp_from_systime()
BSE: provide Bse::objects_debug_leaks()
BSE: provide tick_stamp_from_systime()
BSE: ldscript.map: export only C++ symbols
BSE: use bseengine.hh symbols instead of duplicating header bits
SHELL: remove 'extern "C"' from all API
BEAST: remove 'extern "C"' from all API
DRIVERS: remove 'extern "C"' from all API
PLUGINS: remove 'extern "C"' from all API
TOOLS: remove 'extern "C"' from all API
BSE: remove 'extern "C"' from all API
SFI: remove 'extern "C"' from all API
BSE: use noexcept instead of dynamic exception specifications
BEAST: fix signed shifts
BEAST: fix passing std::string through varargs
MISC: Dockerfile-apt.in: leave the build files around for inspection
MISC: Dockerfile-apt.in: support multiple intent values next to clangbuild
MISC: Dockerfile-apt.in: just issue a warning if the final test installation fails
TRAVIS: unset 'language', use clang++ for distcheck
TRAVIS: leave package handling to Dockerfile
MISC: shift bintray package upload into Dockerfile
MISC: bintrayup.sh: add script for package uploads to bintray.com
BEAST: compile and use Internal::buildid()
BUILD: generate topbuildid.cc
BSE: replace all birnet_* symbols
BUILD: qualify version as 0.10.1~wip to indicate development of pre-0.10.1 code
MISC: applyenv.sh: add script to substitute @ENVIRONMENTVARIABLE@ in input file
MISC: mive Dockerfile-apt.in here
MISC: mkbuildid.sh: add script to generate build id
BEAST: use project methods
BSE: migrate all Project methods into bseapi.idl
BSE: minor cleanups to Song methods
BSE: use UI-friendly Synth/Song/Midi-Synth as default object names
PO: POTSCAN: purge old file entries
PO: POTSCAN: fix sorting
PO: Makefile.am: fix message about untranslated files
PO: POTSCAN: remove unused file entries
BSE: add SuperSeq and migrate Project.get_supers() into bseapi.idl
BSE: migrate enum ProjectState and signal state_changed into bseapi.idl
BEAST: use Song methods from bseapi.idl
BSE: move all Song methods into bseapi.idl
SFI: define SfiProxy as ssize_t to avoid useless signedness casts
BSE: fix accidental ENGINE_JOB_ICONNECT rename
BEAST: use Bse:: Category, CategorySeq and Icon from bseapi.idl everywhere
BSE: move Category and CategorySeq into bseapi.idl and switch to Icon
BEAST: use Wave methods from bseapi.idl
BSE: move BseWave methods into bseapi.idl
SFI: fix sfi_error() so it warns but doesn't abort the program
BEAST: use WaveRepoImpl.list_children() and remove_wave() from bseapi.idl
BSE: move WaveRepoImpl.list_children() and remove_wave() into bseapi.idl
BEAST: use Container.list_children() from bseapi.idl
BSE: move Container.list_children() into bseapi.idl
BEAST: use Container.get_item() from bseapi.idl
BSE: move Container.get_item() into bseapi.idl
BSE: add missing libs
BEAST: add LIBZ_LIBS where needed
PLUGINS: remove unused macro
BUILD: configure.ac: detect LIBZ_LIBS and configure CXX to use C++11
TRAVIS: use different bintray repositories for stable vs devel packages
TRAVIS: rename $BEASTAPTSOURCE
BUILD: buildtool.sh: throw a warning for shallow git repositories
TRAVIS: distinguish INTENT=package and INTENT=distcheck
DEBIAN: control: depend on Rapicorn 16.0.1~git5374, consolidate versions
BUILD: depend on Rapicorn 16.0.1
configure.ac: revision increment to 0.10.1
Milk Miruku (4):
UI: update ui/pixmap.cc to specify unistd.h include for unlink
RCORE: update rcore/tests/strings.cc with std::
RCORE: update rcore/tests/benchrcore.cc with std::
RCORE: update rcore/strings.cc with std::
Stefan Westerfeld (1):
RCORE: compile fixes for KUbuntu 16.04/gcc 5.3.1-14ubuntu2
Tim Janik (613):
BUILD: release version 17.0.0
NEWS: updates for the next release
TESTS: adjust to Aida assertion handling
RCORE: testutils: make use of Aida::assertion_failed{_hook}
RCORE: always use AIDA_ASSERT_RETURN{_UNREACHED} and never abort
AIDACC: always use AIDA_ASSERT_RETURN() in generated code
MISC: mkbuildid.sh: fix version extraction for -rcX releases
configure.ac: version increment to 17.0.0~rc2
BUILD: bump ABI and version to 17.0.0~rc1
NEWS: updates for the next release
MISC: Dockerfile-apt.in: use 'make dist'
TOOLS: disambiguate Internal namespace for clang++
BUILD: Makefile.decl: remove unused distfile-list rule
BUILD: rename distgit to 'make dist' and support EXTRA_DIST
BUILD: add 'extra-gitdist', a recursive rule to help with 'make dist'
BUILD: remove EXTRA_DIST everywhere, since we package all git tracked files
BUILD: roll our own distuninstallcheck, now we use no-dist autotools
MISC: Dockerfile-apt.in: use 'make distgit'
BUILD: move ChangeLog generation rule
BUILD: cleanup git archive export files
BUILD: use 'git archive' in rule 'distgit' to create distribution tarballs
BUILD: fix ChangeLog dependency on last git commit
BUILD: autogen.sh: speed up by some +40% by avoiding autoreconf
MISC: mkbuildid.sh: treat git repos too shallow for git-describe as tarballs
MISC: adapt versioning to use 16.0.1~rc1+<commitcount>.g<commithash>
BUILD: fix https://rapicorn.testbit.org/ URL everywhere
BUILD: README.md: provide tarball link
TRAVIS: stop deb package builds and uploads
TRAVIS: remove ubuntu:yakkety test builds which fail mysteriously
AIDACC: support setting AIDACC_DESTDIR to run aidacc within DESTDIR
RCORE: allow explicit program_alias() specification
RCORE: aida: add ClientConnection::notify_callback()
BUILD: configure.ac: detect GCC when invoked with an alias
RCORE: fix errors on initialization with argv=NULL and argcp=NULL
UI: use String to return errors from ContainerImpl::try_add
UI: WidgetImpl: add toplevel() convenience method
RCORE: provide __HERE__, a shorthand for __FILE__ ":" __LINE__
TRAVIS: test builds on ubuntu:zesty and debian:unstable
MISC: Dockerfile-apt.in: explicitely require gccbuild intent
MISC: dockerbuild.sh: support --no-cache to be passed on to docker build
MISC: Dockerfile-apt.in: work around Debian #809219 on xenial
RCORE: backtrace: use .text segment address to filter out no-PIE mappings
RCORE: use PRIORITY_HIGH for timers to avoid lags due to other events
UI: WidgetImpl.exec_*_repeater() use default timeout priority
RCORE: loop: rename MainLoop::create_sub_loop()
TESTS: t201: check starvation among loops
RCORE: loop: allow isolated priorities between loops
RCORE: fix unterminated readlink() result
RCORE: allow "backtrace-warnings=<depth>" to specify the depth of warning traces
RCORE: utilities: publically export pretty_backtrace_symbols()
RCORE: accept negative 'nptrs' for pretty_backtrace() to deal with backtrace() errors
RCORE: use "LC_ALL=C addr2line" for backtraces
RCORE: add RAPICORN_DEBUG=backtrace-warnings
UI: x11_error: use RAPICORN_BACKTRACE_STRING()
RCORE: clean up backtrace generation for fatal messages
TESTS: test backtrace generation
RCORE: use addr2line to generate proper backtraces, add RAPICORN_BACKTRACE()
RCORE: provide ASSERT() if RAPICORN_CONVENIENCE is defined
RCORE: debug_config_*: assume debug options without explicit value are set to "true"
RCORE: inout.cc: remove some unreachable code
UI: WindowImpl: properly chain from dispose()
UI: hierarchy_changed: improve type safety and pass old_toplevel as WindowImpl*
UI: ViewportImpl: inline small event dispatcher functions
UI: ViewportImpl: cosmetic edits
UI: WindowImpl: move command dispatching and event synthesis here
UI: move event loop from viewport to window
UI: WidgetImpl: move widget_difference() here
UI: simplify by introducing WidgetImpl::get_loop()
UI: remove WindowImpl::WidgetImplFriend, use Internal()
UI: use has_display_window() where possible
UI: viewport.cc: cosmetics
UI: move allmost all Window API into Viewport
UI: rename window.{hh|cc} to viewport.{hh|cc}
UI: remove viewport.cc and viewport.hh
UI: merge expose region handling from ViewportImpl into WindowImpl
RCORE: introduce Internal type to flag internal methods
UI: WindowImpl: fix event delivery, especially with active grabs
UI: WindowImpl: fix delivery of button-cancel events in capture phase
UI: interface Window: provide unset_focus()
UI: Window: emit changed ("get_entered") after new children are entered
UI: interface Window: provide get_focus() and get_entered()
UI: revert inadvertent renames from "UI: adapt to scoped C++ enum values"
UI: tidy up comments and whitespace
MISC: reslist.sh: keep the resfiles.list timestamp newer than the resources
UI: ElementPainter: support explicit state element attributes
UI: make WidgetImpl::invalidate_all() public
RES: Default.svg: provide LIGHT, DARK, LIGHT_CLINCH, DARK_CLINCH colors
UI: paint widget frames with LIGHT, DARK, LIGHT_CLINCH, DARK_CLINCH
BUILD: configure.ac: fix a bogus clang++ warning
BUILD: configure.ac: provide FAST_MATH_FLAGS compiler flags
BUILD: configure.ac: use slightly more generic wording
TRAVIS: testbuild with clang++ on ubuntu:yakkety to get new compiler warnings
BUILD: remove unused ld-symbolic.m4
DOCS: generate documentation sections for all members and trim lists
UI: re-enable documentation generation from IDL files
RCORE: remove unused threadlib code
RCORE: remove unused do_once alias
TESTS: t203: use C++11 exclusive local static variable for run-once test
TESTS: t401: rely on C++11 exclusive local static variable initialization
RCORE: utilities: rely on C++11 exclusive local static variable initialization
RCORE: inout: rely on C++11 exclusive local static variable initialization
UI: clientglue: rely on C++11 exclusive local static variable initialization
UI: displaywindow-x11: rely on C++11 exclusive local static variable initialization
UI: factory: rely on C++11 exclusive local static variable initialization
RCORE: provide RAPICORN_UNUSED, RAPICORN_USED, __unused and __used
AIDACC: avoid class/struct type mismatches
MISC: Dockerfile-apt.in: leave the build files around for inspection
BUILD: test 'make clean' after build as part of distcheck
MISC: Dockerfile-apt.in: just issue a warning if the final test installation fails
TRAVIS: use clang++ for distcheck and assume it's not failing
MISC: Dockerfile-apt.in: support multiple intent values next to clangbuild
TESTS: disable AsyncRingBuffer tests (not needed)
RCORE: ThreadInfo: use std::atomic for members with concurrent access
TESTS: use noexcept instead of dynamic exception specifications
UI: use noexcept instead of dynamic exception specifications
RCORE: aida: remove alignment specifications that aren't honoured
UI: sinfex: align double stores and loads to 8 byte boundaries
RCORE: fix alignment of KeccakRng when constructed with placement new
UI: rely on the C++11 compiler to initialize static objects with a lock guard
RCORE: rely on the C++11 compiler to initialize static objects with a lock guard
RCORE: cxxaux.hh: provide AlignedPOD<>
RCORE: quicktimer.hh: avoid tautological comparison
UI: replace lrand48 with random_int64()
BUILD: include forwarding.mk from GNUmakefiles in all subdirs
MISC: forwarding.mk: include helper to forward make invocations to topdir
MISC: ignore GNUmakefile as resource files
UI: remove unused std::nothrow_t dothrow; constant
UI: InterfaceMatcher: avoid nothrow_t any support matching for pointers only
UI: Widget: avoid nothrow_t any support interface matching for pointers only
TESTS: use WindowImpl* _pointer_ for interface matching
UI: SliderTroughImpl: avoid event handling if there's no SliderAreaImpl ancestor
MISC: mkbuildid.sh: label non-release tarball buildids n.n.n-tarball
RCORE: move 'topbuildid.cc' to generated sources
BUILD: explicitely support --enable-debug for asan/tsan/lsan/ubsan
BUILD: configure.ac: cleanup i18n requirements
BUILD: configure.ac: separate python build requirements
BUILD: configure.ac: remove unused docdir fiddling
BUILD: configure.ac: minor fix to the -lz check
BUILD: configure.ac: merge header checks into AC_CHECK_HEADERS_ONCE
UI: replace RAPICORN_ARCH_NAME with cpu_arch()
BUILD: provide conditional RAPICORN_UNIX_PATHS or RAPICORN_DOS_PATHS macro
BUILD: configure.ac, rcore/sys-config.h.in: cleanup and remove unused checks
BUILD: configure.ac: to preserve CFLAGS, check CC/CXX before TRY_RUN etc
BUILD: configure: support --enable-debug=[no/min/yes/addr/threads] and activate sanitizers
TRAVIS: unset 'language' since we build exclusively inside docker
TRAVIS: leave package handling to Dockerfile
MISC: shift bintray package upload into Dockerfile
TOOLS: compile topbuildid.cc directly
RCORE: compile topbuildid.cc directly
CONFIG: update .gitignore
RCORE: move installed configuration macros into rcore/sys-config.h
BUILD: configure.ac: remove unused checks for nanosleep and sched_yield
BUILD: move configure.ac findings to config/config.h
BUILD: clean files at 'mostlyclean' except for expensive documentation builds
DOCS: rename 'clean-docs' rule
TRAVIS: allow xenial build errors and test yakkety builds
UI: use __sync_*() extensions with int only
UI: pixmap: avoid deprecated libpng API
BUILD: configure.ac: use libpng.pc to pick up libpng12 or libpng16
MISC: Dockerfile-apt.in: install dirmngr so gnupg can download remote keys
MISC: Dockerfile-apt.in: fix use of pattern substitution in /bin/sh
BUILD: remove now unused buildtool.sh
TRAVIS: use dockerbuild.sh and bintrayup.sh for travis-ci builds
MISC: dockerbuild.sh: add script to automate builds inside docker
MISC: bintrayup.sh: add script for package uploads to bintray.com
MISC: applyenv.sh: add script to substitute @ENVIRONMENTVARIABLE@ in input file
MISC: Dockerfile-apt.in: fix directory for dpkg-scanpackages
DEBIAN: librapicorn-doc.install: remove unused 'tutorial' path
BUILD: (re-)generate ChangeLog as needed by Debian and GNU
DEBIAN: rules: remove outdated symlink cleanup
MISC: Dockerfile-apt.in: use tarball and mkbuildid.sh to determine versions
MISC: Dockerfile-apt.in: remove unused enable-devel-mode args
MISC: Dockerfile-apt.in: clone repository from tmp-mirror.git
MISC: move Dockerfile-apt.in here
TRAVIS: provide xmllint for docker builds
BUILD: distcheck: support parallel builds, distuninstallcheck and $(DESTDIR) checks
UI: move ldscript.map here
CYTHON: fix librapicorn header dependency
BUILD: add missing EXTRA_DIST files
UI: avoid shipping generated files and add missing EXTRA_DIST files
RCORE: avoid shipping generated files
TOOLS: avoid shipping generated files
CYTHON: add missing EXTRA_DIST files
RES: add missing EXTRA_DIST files
DOCS: add missing EXTRA_DIST files
DOCS: ensure the installation directory exists before installing docs
AIDACC: avoid shipping generated files
TESTS: add missing EXTRA_DIST files
BUILD: distcheck: check that no CLEANFILES end up in dist tarballs
BUILD: add mkbuildid.sh to EXTRA_DIST
RES: ship reslist.sh and resfiles.list via EXTRA_DIST
BUILD: add 'distcheck' to try builds out of tree and with srcdir==builddir
UI: make sure to distribute interfaces.idl
BUILD: update requirements in rapicorn.pc and avoid overlinking
BUILD: use just LIBZ_LIBS, LIBRAPICORN_{CFLAGS|LIBS} for package dependencies
BUILD: add 'pkg-config-call-info' rule
BUILD: move -D__FILE_DIR__ into Makefile.am
RCORE: merge poll value checks into one RAPICORN_SYSVAL_POLLINIT configure test
BUILD: configure.ac: remove unused bits and tidy up some checks
BUILD: autogen.sh: avoid calling ./configure if $NOCONFIGURE is set
BUILD: configure.ac: throw error message for unsupported srcdir != builddir
BUILD: remove 'devel-mode' setting, infer development aids from ~wip versions
BUILD: configure.ac: add -fdevirtualize-speculatively and suggest new warnings
BUILD: configure.ac: upgrade g++ dependency to 4.9.2
BUILD: configure.ac: upgrade clang++ dependency to 3.5.0
BUILD: store autotool macros and auxillary files in config/
BUILD: autogen.sh: spell out the autoreconf arguments for clarity
BUILD: prevent autoconf, aclocal, etc from using stale values
BUILD: configure.ac: simplify finding system utilities and their version checks
BUILD: configure.ac: assert gcc and clang compiler versions
BUILD: acrapicorn.m4: provide MC_ASSERT_VERSION()
BUILD: configure.ac: pick compiler & linker flags based on clang and gcc
UI: displaywindow-x11: avoid use-after-free
UI: uithread: avoid data race during thread initialization
RCORE: aida: properly handle receiving NULL objects from remote end
DOCS: avoid rm/mkdir race when installing docs with -j
BUILD: add autotools files to MAINTAINERCLEANFILES
CYTHON: add missing CLEANFILES
DOCS: add missing CLEANFILES
AIDACC: add missing CLEANFILES
TOOLS: add missing CLEANFILES
BUILD: fix .gitignore in various places
MISC: move taptool.sh here
BUILD: Makefile.decl: remove unused TAPTESTS and X11TESTS
BUILD: Makefile.decl: remove unused TEST_PROGS, check_parallel and slowcheck rules
AIDACC: rename $(AIDACC_INSTALLABLE)
MISC: xmanifold.py: allow output file specification
MISC: move xmanifold.py here
DOCS: add examples to documentation and fix all example references
BUILD: fix html man page back links
EXAMPLES: remove unused testpic* files
TESTS: rename 't390-installcheck-aidacc'
TESTS: fix t190-installcheck-api-use not to use CXXFLAGS
DOCS: avoid documentation rebuilds after commits if NODOC was set
BUILD: let all sources depend on rapicorn.hh
UI: remove unused docs/rapicorn16.png
DOCS: remove unused examples/Makefile.am
EXAMPLES: move sample-dialog.xml here and verify it with rapidrun
DOCS: remove unused tutorial/Makefile.am
BUILD: avoid touching topbuildid.cc unless buildid really changed
EXAMPLES: move tutorial-hello.py here and ensure it executes
DOCS: remove unused changelog and makefiles
DOCS: remove unused imports/ contents
DOCS: update the cppreference tagfile to the archive version from 20151129
DOCS: move tagfile-cppreference-14 and tagfile-susv4.xml here
BUILD: toplevel gitignore cleanups
DOCS: mans: remove unused Makefile.am
TOOLS: build and install rapidrun.1 and rapidrun.1.html from markdown
TOOLS: move rapidres here
CYTHON: add PYTHON_LIBS to link against python 2.7.12 on xenial
BUILD: always use 'git rev-parse --git-dir' to reliably detect a git repository
TOOLS: build and install rapidrun.1 and rapidrun.1.html
BUILD: add rules to build man1_MANS and man1_HTMLS from markdown
DOCS: add HTML manual pages to html/ output dir
BUILD: introduce $(revisioned_files) for files that need @FILE_REVISION@ substitution
TOOLS: move rapidrun.1.md here
AIDACC: remove unused Makefile.am
CYTHON: remove unused Makefile.am
BUILD: provide 'python-call-info' target which shows PYTHONPATH settings
TESTS: add and run t590-cython-installcheck-test as part of installcheck
TESTS: add and run t500-cython-core.py
TESTS: renumber tests/t501-main-loop.py and tests/t506-simple-click.py
TOOLS: remove unused Makefile.am
TESTS: remove unused Makefile.am
RCORE: remove unused Makefile.am
UI: remove unused Makefile.am
UI: tests: remove unused Makefile.am
EXAMPLES: remove unused Makefile.am
AIDACC: tests: remove Makefile.am and unused typecodetests.idl
RES: add .xml resource files to make_check_xml_files
BUILD: Makefile.am: define target rules after includes
TESTS: add and run t390-installcheck-aidacc as part of installcheck
TESTS: add tests/t190-installcheck-api-use and run during installcheck
BUILD: build and install rapicorn-@MAJOR@.pc with rapicorn.pc symlink
BUILD: install rapicorn-core.hh rapicorn-test.hh rapicorn.hh
TESTS: make use of make_check_targets
TESTS: reject dynamic_cast of reference types
BUILD: add make_check_targets as a shorthand for phony check-local targets
TESTS: describe test category numbers
BUILD: install README NEWS COPYING.MPL
TESTS: add and run t305-testpass-compile-test
TESTS: add and run t304-testpass-cxx-test
AIDACC: add missing dependencies
AIDACC: use unique symbols for method registration
AIDACC: CxxStub-server.cc: add macro guards to prevent multiple definitions
AIDACC: CxxStub-client.cc: add macro guards against double includes
AIDACC: properly install aidacc
TESTS: add and run t302-testfail-idl-test
TESTS: add and run t301-testpass-idl-test
TESTS: move t203 files to tests/t203/
TESTS: move t201 files to tests/t201/
TESTS: add and run t403-sinfex-expression-test
TESTS: build and run t402-clienttests
TESTS: build and run t401-servertests
EXAMPLES: build hello, scroller, texttest, graphics, fileview, tour, run tour-test
BUILD: define and use $(TAPTOOL)
BUILD: use $(topdir) where appropriate
TESTS: build and run t902-bench-aida
TESTS: add and run t800-binding-example.py
TESTS: add and run t702-text-ocr test if gocr(1) is present
TESTS: add and run t701-alignment-layout test
BUILD: minor cleanups
TESTS: add and run t700-png-image test
TOOLS: build tools/imgcheck (moved from ui/tests)
TESTS: add and run t602-factory-dump test
TESTS: add and run t601-arrow-sizing test
BUILD: move check-python-tests to toplevel Makefile.am
TESTS: use rapidrun to check t600-xmlui-eval.xml
BUILD: add make_check_xml_files list for linting during regular builds
TESTS: t901: use comparable n_runs and block_size for rngs, seeding and hashing
RCORE: adapt test timer benchmark runs to approximate payload more smoothly
TESTS: execute all t5* python-tests in parallel
BUILD: define project tools and paths in a single makefile place
TOOLS: fix missing rapidrun.cc dependency on ui/clientapi.hh
BUILD: preserve directory of test output files
TESTS: build and run t303-mini-server
TESTS: add and run t206-naive-entropy
TESTS: build and run t901-bench-rcore
TESTS: add and run t205-debug-output
TESTS: add critical() unit test
TESTS: add and run t204-assertions-test
TESTS: remove unused t203-more-basics-resources.cc
TESTS: build and run t203-more-basics
TESTS: build and run t201-rcore-basics-test and t202-randomized-hashing-test
RCORE: add minor _WIN64 comment
BUILD: provide __TOPDIR__
TOOLS: build and install and test rapidrun
DOCS: build and install minimal html documentation
CYTHON: properly install versioned python module and fix unversioned symlink
RCORE: strip '.*/res/' prefix from embedded resources
RCORE: silence compiler warnings
AIDACC: allow inferring generation type from output filename
UI: compile pango label renderer unconditionally
RCORE: rapidres: add -s PREFIX to strip prefixes from resource names
CYTHON: build and install Rapicorn.so
UI: build librapicorn from all source files
AIDACC: build aidacc-intern and aidacc
RCORE: build rapidres and rcore_librapicorn_sources
RCORE: improve rapidres error message
BUILD: generate buildid of the form: MAJOR.MINOR.NEXTMICRO~wipCOMMITCOUNT-gGITHASH
BUILD: qualify version as 16.0.1~wip to indicate development of pre-16.0.1 code
BUILD: provide topbuildid make variable and 'buildid' rule
BUILD: provide topbuildid.cc and preserve stamp if possible
RES: provide res_resfiles_list
BUILD: remove unused data/Makefile.am
BUILD: start migrating Makefile.am to a non-recursive make build
BUILD: fix SYMLINK_LATEST to work with directories
TESTS: t902-bench-aida: rename simple 2way remote call benchmark
BUILD: remove empty rcore/tests/ dir from build
TESTS: t206-naive-entropy: rename and move naive entropy gathering tests
TESTS: t901-bench-rcore: rename and move time consuming throughput benchmark
TESTS: t205-debug-output: rename and move warning and debugging message tests
TESTS: t204-assertions-test: rename and move assertion and fatal aborting tests
TESTS: t203-more-basics: rename and move signal, threading, svg, etc tests
TESTS: t202-randomized-hashing: move randomized hashing test which needs t201
TESTS: t201-rcore-basics-test: rename and move rcore basic functionality tests
TESTS: t303-mini-server: rename and move IDL mini component test
BUILD: remove empty pytests/ dir from build
TESTS: add missing ${objdir}
TESTS: t800-binding-example: fix example and add test execution
TESTS: t800-binding-example: rename and move binding example
TESTS: t505-property-binding: rename and move property binding test
TESTS: t504-size-groups: rename and move simple h/v size group test
TESTS: t503-garbage-collector: rename and move remote garbage collector test
TESTS: t502-property-basics: rename and move basic property accessors test
TESTS: t501-simple-click: rename and move simple button click test
TESTS: t500-main-loop: rename and move simple main loop test
TESTS: t602-factory-dump: rename factory debug dump test
TESTS: t601-arrow-sizing: rename arrow width-for-height sizing test
TESTS: t600-xmlui-eval: rename XML UI '@eval' test
TESTS: t702-text-ocr: rename text recognition test
TESTS: t701-alignment-layout: rename Alignment layout test
TESTS: t700-png-image: minor cleanups
TESTS: t700-png-image: rename image loading test
EXAMPLES: move fileview here
CYTHON: provide Application.process_events() to synchronize with a Window's event loop
UI: add query_idle() and notify_idle() signal to Window
BUILD: .gitignore: updates
DOCS: fixup navtree.css fonts only if the file is present
DOCS: make enum descriptions easier on the eye
DOCS: make function lists and descriptions easier on the eye
BUILD: fix error message about wrong ABI_MICRO increments
BUILD: document how ABI versioning affects the SONAME
UI: paintwidgets.cc: use CAIRO_CHECK_STATUS()
UI: displaywindow-x11: use CAIRO_CHECK_STATUS()
RCORE: Makefile.am: remove unused entries
UI: remove unused 'changed' flag for size_allocate()
UI: add likelyness hinting to WindowImpl.check_widget_requisition()
UI: remove WidgetImpl.test_flag()
UI: expose_unclipped: clip expose region to ancestry
UI: SliderTroughImpl::reallocate_child: preserve double precision during calculation
UI: WidgetImpl: rename child_allocation_ member
UI: fix reallocation exposes and remove clipped_allocation()
UI: use invalidate_content() instead of expose when rerendering is needed
UI: move_focus: translate all coordinates to viewport to measure distances
UI: fix coordinates in ScrollPortImpl::scroll_to_descendant()
UI: translate expose regions to viewport
UI: translate widget points to and from viewport
UI: account for parent offset during compose_into()
UI: use parent-relative coordinates for allocations
UI: remove explitic clip area handling from Widget API
UI: cache one pre-rendered surface per widget
UI: WidgetImpl.render: remove largely unused rectangle argument
UI: Region: speed up IRect conversions and listings
UI: provide IRect.intersection()
UI: DrawableImpl: use invalidate_content() to avoid missing exposes
UI: DrawableImpl: avoid flicker by reshaowing the last drawing
RCORE: add CAIRO_CHECK_STATUS()
UI: widget_invalidate: ensure newly invaliated widgets always get exposed
UI: avoid widget re-allocation if its size remains
UI: implement fine grained per-widget size negotiation
UI: scrollwidgets.cc: invalidate_allocation once scrolled
UI: scrollwidgets.cc: avoid unneccessary offset rounding
UI: WidgetImpl::set_allocation: remove double value clamping
UI: introduce WidgetImpl::change_invalidation() to allow fine grained invalidation
UI: avoid double invocation of miValidRegion()
UI: use fine grained invalidation, separating invalid requisition, allocation, content
UI: remove sig_invalidate which was effectively unused
RCORE: use fistpll on __i386__ *and* __amd64__
UI: move WidgetGroupVector into PackInfo
UI: PackInfo: use float32 and int16 for field, merge with override width/height
UI: provide PackInfo pointer inside WidgetImpl
UI: convert Allocation to int32 rectangle
UI: provide full featured int32 rectangle implementation with IRect
UI: rename DRect so it is obvious that it contains doubles
UI: use 'int' for widget spacings to avoid explicit 'unsigned' conversions
UI: use int32 for requisition width and height
UI: derive ScrollPortImpl from ResizeContainerImpl
UI: fix missing widget state notifications
UI: provide publice Widget API for widget state properties
UI: add SelectableItemImpl::button to configure the mouse button for item selections
UI: rename Factory::factory_context_id
UI: access widget ID via id() methods
UI: use <Element id="some-identifier"/> for widget IDs in XML UI
UI: use <Element declare="new-element"/> to define new XML UI element types
RES: Default.svg: add checkmark
RES: Default.svg: add colors to color table
TESTS: fileview.xml: use size groups to keep column contents aligned
TESTS: fileview.xml: use 'panel' as list background
TESTS: fileview.xml: support horizontal list expansion
TESTS: fileview.xml: allow scrolling list contents offscreen
TESTS: fileview.xml: test SelectableItem
TESTS: fileview.cc: add test code to produce scrollable list rows
RES: define RapicornRadioButton
UI: add Rapicorn::RadioButton
UI: ElementPainter: fix h/v spreading flags
UI: factory: fix an error message
UI: add ButtonArea.label to autoconstruct button labels
UI: call WidgetImpl.fabricated() on all widgets after creation via Factory
RCORE: declare RapicornInternal::ImplementationHelper for internal uses
UI: factory: restrict builder public methods to bare minimum
UI: add write-only Label.text convenience property that auto-detects markup
RCORE: tests: add simple regex test to match markup end tags
TRAVIS: expect Xenial builds to succeed, but not Debian:testing
UI: add ShapePainterImpl that can render circle, diamond, square and star
UI: provide Widget.toggled and Widget.retained properties that reflect widget state
UI: add StyleColor::MARK for theming of the check/radio mark colors
UI: add .can_toggle and .toggle properties to ButtonArea
UI: Window: provide is_grabbing() and make grab removal easier
UI: allow button clicks regardless of on_click settings
UI: ElementPainter: use 'element' and 'filler' properties to render contents from SVG
UI: fix an assertion
UI: always notify about state propagation but avoid spurious propagations
UI: Style: provide (svg) file io accessors, load local files if RAPICORN_FLIPPER=file-io is set
UI: add ImagePainter::reset()
UI: style: reject all misleading state indicators
RCORE: SVG: rename measure_ink()
UI: use Svg ink rectangle to measure and paint elements
RCORE: Svg: calculate ink and bounding box
RCORE: Svg: rename IBox and provide int only coordinates
RCORE: svg: rename ink box members
RCORE: Svg: report element bbox without cutting width/height short
RCORE: introduce Svg::ElementImpl::ibox() to query the ink rectangle
RES: Default.svg: adjust color table
TESTS: avoid failing of the OCR test due to insensitive text rendering
UI: fetch insensitive_ink colors from SVG
UI: merge FOCUS_FG and FOCUS_BG into FOCUS_COLOR
UI: style: extract color values from SVG
UI: ImagePainter: handle SVG fragments without preceeding '#'
RCORE: Aida::enum_value_to_string(): handle flag enums with a value joiner
BUILD: TSTOCR: give feedback on OCR result for make V=1
UI: WidgetImpl: improve debug_name() formatting and add const
UI: factory_context_source: provide location of widget use, not definition
UI: split WidgetState and WidgetFlag, propagate all WidgetState values
UI: use up to 16 bits for WidgetState and add WidgetState::STASHED
UI: avoid WidgetImpl::set_flag default arguments
AIDACC: add Enum->Enum arithmetic operations to scoped enum flag values
RCORE: Svg::FileImpl::lookup: handle missing '#' element prefix
RES: Default.xml: provide themes/Default.svg as factory-svg for all widgets
RES: standard.xml: provide themes/Default.svg as factory-svg for all widgets
RES: foundation.xml: provide themes/Default.svg as factory-svg for all widgets
UI: StyleImpl::fragment_color: fetch color from SVG elements
RCORE: StringFormatter: explicitely cast enum class value arguments to integer
UI: remove largely unused ColorScheme type
UI: rename and merge ColorType into StyleColor
UI: move resolve_color() and insensitive_ink() to StyleIface, remove heritage.*
UI: style: remove unused methods
RCORE: remove Svg::FileImpl::list() prefix argument wihch is unsupported
UI: provide StyleIface::pick_fragment() to find SVG elements for widget states
UI: widget: use style to resolve dark/light/focus colors
UI: rename StyleIface::state_color() and provide enum class StyleColor
UI: remove ThemeInfo code, StyleIfaceP takes over
UI: remove $RAPICORN_THEME interpretation
UI: add WidgetImpl::style(), loaded from <interfaces factory-svg="..."/>
UI: merge SVG loading into StyleImpl and expose StyleIfaceP
UI: simplify ThemeInfo virtual methods that aren't really overridden
UI: remove ClassDoctor, use friend declarations instead
UI: WidgetImpl: some method reordering
UI: provide AncestryCache exactly while anchored()
UI: listarea: remove unused adjustment code
UI: listarea: fix typo
UI: listarea: use size_request_child()
UI: listarea: don't interfere with size-request and size-allocate
UI: SelectableItemImpl: capture button press to toggle selection
UI: WidgetList: emit selection_changed() signal once children are (de-)selected
UI: listarea: introduce SelectableItem
UI: WidgetList: provide proper size requisition
TESTS: liststore.cc: remove bogus test code
UI: add create_row() and support arbitrary widgets as list rows
UI: WidgetListImpl: remove overly sophisticated caching and scrolling logic
UI: introduce WidgetListRow.bind_model()
UI: listarea.cc: some comment fixups
UI: WindowImpl: improve debugging output
UI: store clip_area_ within WidgetImpl
UI: get rid of per-widget affines and coordinate translations
UI: move sig_scrolled from ViewportImpl to ScrollPortImpl
UI: WindowImpl: ensure event coordinates are interpreted within correct allocations
UI: deduplicate some lines
UI: consider (mostly) onscreen widgets for directional focus movements
UI: only consider logical positions for logical focus movements
UI: only consider visible and properly allocated children for focus movements
UI: provide and test Rect::mapped_onto()
UI: allocate scrolled widgets with Window relative coordinates
UI: ViewportImpl: remove unused child_viewport()
UI: fix typo
UI: avoid repainintg while we're waiting for a WIN_SIZE event
UI: avoid re-requesting the same size from window managers once we got a response
UI: avoid scroll adjustment jumps during size negotiation
UI: check RAPICORN_FLIPPER=subtree-resizing before executing autonomous ResizeContainerImpl resizes
UI: ScrollPortImpl: properly layout child, honouring spacing, expansion, etc.
UI: allow spreading widgets to shrink
UI: scrollwidgets: fix typo
UI: move_focus(): consider only visible areas for focus movement
UI: move_focus(): translate and use the same coordinate system to compare widgets
UI: ResizeContainerImpl: prevent size invlidation from propagating up
UI: scrollwidgets: preserve scroll position across size negotiations
UI: catch and handle resizes directly on ResizeContainer objects
UI: Window: improve resize debug messages
UI: ResizeContainerImpl::idle_sizing: avoid unnecessary resizes
TESTS: arrowsize-test.xml: test width-from-height and height-from-width arrows
UI: layout_child: properly constrain child layout in case of overflow
UI: Alignment: properly take PackInfo into account
UI: merge size_request_child() and measure_child()
UI: make WidgetImpl.invalidate() virtual
UI: introduce capture phase for event propagation of button press events
UI: add ContainerImpl::flag_descendant()
UI: notify SELECTED changes via ContainerImpl.selectable_child_changed()
UI: add Config::get() to retrieve values from .ini configuration files
RCORE: Path: add config_dirs(), data_dirs() and config_names()
RCORE: Path: add searchpath_contains()
RCORE: Path: add searchpath_list() and searchpath_multiply()
RCORE: Path: add data_home(), config_home(), cache_home(), runtime_dir() to get XDG directories
RCORE: Path: add expand_tilde() and user_home()
UI: container: improve DEBUG_RESIZE()
UI: provide WidgetImpl.debug_name()
UI: Window: fix resize handler priority
UI: WidgetImpl::set_allocation: take parent clip area into account to hide overflow contents
UI: window.cc: minor ClassDoctor simplification
UI: text-editor.cc: avoid async callbacks for text block creation
UI: text-editor.cc: avoid unneccessary async callbacks
UI: heritage: fix ColorScheme::INHERIT not picking color scheme from parent
UI: widget_cross_link: avoid exceptions
UI: add measure_child() to calculate requisition with spacing
UI: fix Table child top vs bottom spacing calculation
UI: fix Container child top vs bottom spacing calculation
UI: fix Alignment top vs bottom padding calculation
UI: sort out MultiContainerImpl public methods
UI: container.cc: remove_child(): speed up removal of last child
UI: ElementPainterImpl::size_request: stick to SVG size if no child is present
UI: ElementPainterImpl::state_element: issue error message for unknown SVG elements
UI: fix a comment
RCORE: Svg::Element::stretch: scale SVG elements if interpolation is not needed
RCORE: add Span::to_string()
RCORE: add MainLoop::set_g_main_context() to integrate with GMainContext
RCORE: add QuickArray methods capacity() and resize()
UI: catch calling exit() from within the uithread because it cannot join itself
UI: ignore bad_weak_ptr exceptions when casts may return NULL
UI: ContainerImpl::uncross: allow NULL guards during destruction phase
UI: widget::set_parent: guard widget against destruction
RCORE: shared_ptr_cast: narrow catching of std::bad_weak_ptr exceptions
UI: fix main_loop NULL check
TESTS: properly initialize benchaida
TRAVIS: add 'clangbuild' to build matrix to test building with clang++
RCORE: tests: fix typo in test comparison
AIDACC: fix missing 'override' specifiers
UI: use 'noexcept' instead of deprecated old throw() syntax
UI: clang requires tedious initializer lists instead of cloning for array ctors
UI: for clang, use typename instead of class variable to access LoopState enum values
RCORE: string_from_pretty_function_name: ignore anonymous namespace prefixes
RCORE: fix missing 'typename'
RCORE: provide and use RAPICORN_DECLARE_VLA() to work around clang's VLA complaints
RCORE: synchronize struct/class prototypes and decls for clang
BUILD: MC_CC_TRY_OPTION: fail for options that compilers (clang) warn about
RCORE: add missing 'override', found by clang++-3.6
RCORE: fix class/struct prototype declarations, required by clang++-3.6
RCORE: add extra prototype required by clang++-3.6
RCORE: cxxaux: use std::declval in decltype check to avoid depending on ctor of incomplete type
RCORE: avoid template argument shadowing enum value name
TRAVIS: use different bintray repositories for stable vs devel packages
TRAVIS: rename $BEASTAPTSOURCE
BUILD: buildtool.sh: throw a warning for shallow git repositories
TRAVIS: distinguish INTENT=package and INTENT=distcheck
configure.ac: revision increment to 16.0.1
spectmorph-0.3.3 has been released.
Overview of Changes in spectmorph-0.3.3:
----------------------------------------
* Added portamento:
- VST: support MPE to perform per-voice pitch bend (can be used in Bitwig)
- new portamento mono mode (all hosts)
* Added vibrato.
* Internal improvements:
- better property abstraction for (non-linear) UI properties
- updated polyphase interpolator (used for vibrato|portamento)
- fixed a few problems when developing against spectmorph(ui) libs
- don't link against Qt UI library when only QtCore is necessary
* Compile fixes for g++-6.3
What is SpectMorph?
-------------------
SpectMorph is a free software project which allows to analyze samples of
musical instruments, and to combine them (morphing). It can be used to
construct hybrid sounds, for instance a sound between a trumpet and a flute; or
smooth transitions, for instance a sound that starts as a trumpet and then
gradually changes to a flute.
SpectMorph ships with many ready-to-use instruments which can be combined using
morphing.
SpectMorph is implemented in C++ and licensed under the GNU LGPL version 3
Integrating SpectMorph into your Work
-------------------------------------
In order to make music that contains SpectMorph, you currently need to use
Linux. There are four ways of integrating SpectMorph sounds into music you
create:
- LV2 Plugin, for any sequencer that supports it.
- VST Plugin, especially for proprietary solutions that don't support LV2.
- JACK Client.
- BEAST Module, integrating into BEASTs modular environment.
Note that at this point, we may still change the way sound synthesis works, so
newer versions of SpectMorph may sound (slightly) different than the current
version.
Links:
------
Website: http://www.spectmorph.org
Download: http://www.spectmorph.org/downloads/spectmorph-0.3.3.tar.bz2
There are many audio demos on the website, which demonstrate morphing between
instruments.
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan
On behalf of the entire Rivendell development team, I'm pleased to announce the availability of Rivendell v2.16.0. Rivendell is a full-featured radio automation system targeted for use in professional broadcast environments. It is available under the GNU General Public License.
From the NEWS file:
*** snip snip ***
Changes:
Audio Store Hashing. Rivendell now automatically generates a SHA1 hash
for each file in the audio store and records this value in the database,
thus permitting automated recovery of audio in the event of loss or damage
to the audio store's filesystem directory. See the --relink-audio option
in the rddbcheck(8) man page for details.
Kernel GPIO. Added switcher support for Kernel GPIO devices, such as
the GPIO interface on the Raspberry Pi 2 and 3.
Modbus TCP. Added switcher support for Modbus TCP devices.
RDConvert. Added an rdconvert(1) utility,
User Authentication. It is now possible to delegate authentication of
Rivendell users by means of a PAM module, thus permitting 'single sign-on'
integration with systems such as ActiveDirectory and FreeIPA.
Web API. Added various methods to the Rivendell Web API to permit
integration with external audio and log editors.
Various other bug fixes. See the ChangeLog for details.
Database Update:
This version of Rivendell uses database schema version 263, and will
automatically upgrade any earlier versions. To see the current schema
version prior to upgrade, see RDAdmin->SystemInfo.
As always, be sure to run RDAdmin immediately after upgrading to allow
any necessary changes to the database schema to be applied.
*** snip snip ***
Further information, screenshots and download links are available at:
http://www.rivendellaudio.org <http://www.rivendellaudio.org/>
Cheers!
|----------------------------------------------------------------------|
| Frederick F. Gleason, Jr. | Chief Developer |
| | Paravel Systems |
|----------------------------------------------------------------------|
| I look at it this way: if the station doesn't receive at least one |
| bomb threat a week, it means that we're not reaching our audience. |
| -- Keith Leach |
|----------------------------------------------------------------------|