Beast 0.14.0 released

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Beast 0.14.0 released

Tim Janik-6
Beast version 0.14.0 is released.

Beast is a Free Software (LGPLv2+) music synthesizer
and audio composer.

It provides a #MIDI #sequencer, unlimited undo, real-time #synthesis,
support for Linux #Audio Plugins (#LADSPA), Soundfont 2, WAV, AIFF,
Vorbis, Gus Patch, FLAC and MP3 files, 32bit audio rendering, full
duplex support, multi-core audio rendering and SIMD utilisation.

The source code is available via Git, the tarball and AppImage are here:

             https://beast.testbit.org/#downloads

After downloading and making the Beast AppImage executable, it can
run on any Ubuntu-18.04 or Fedora-27 compatible Linux system.

The new experimental ebeast UI can be started with:

    ./beast-0.14.0.x64.AppImage --ebeast

The release NEWS and shortlog are appended.

----

## Beast 0.14.0: (2019-07-02)

#### System Requirements
* Linux - Ubuntu 18.04 or Fedora-27 are needed to run the Beast AppImage.

#### User Interface EBEAST
* Added a preferences dialog.
* Properly support Open and Save of `.bse` files.
* Completed the Javascript IPC binding to support notifications and Anys.
* Added new styling for browser scrollbars.

#### Build Improvements
* Rewrote the entire build system to purely use non-recursive GNU Make and
  to get rid of autoconf, automake, libtool and related auto* tools.
* Support `make help` to outline build rules and build variables.
* Introduce `make default MODE=release` to configure for for production builds.
* Build artefacts are now generated under `./out/`, adjustable via
  `make default builddir=...`
* Merged all unit tests into a single binary which can run fully parallelized.
* Removed checks for pre-2009 POSIX systems and other legacy configurations.
* Replaced lengthy checks with `__has_include` and compiler builtins.
* Support builds from Github source code archives.
* Streamlined release process and version extraction.

#### Size Reductions
* Rewrote the Aida IPC layer to make it leaner by using C++ lambdas.
* Removed a lot of outdated code, which remains an ongoing effort.

#### Upgrades
* Upgrade to node-gyp-3.8 and node-sass-4.11
* Update to vue-2.6
* Upgrade to browserify-16 and babelify-10
* Upgrade electron to 2.0.18.
* Upgrade to fluidsynth 2.0.4. #101
* Fixed pandoc usage to support pandoc-2.
* Updated the C++ dependency to C++17.
* The build now makes use of g++-7 and clang++-6 optimization facilities.

#### Regression Fixes
* Fixed deadlock in DavOrgan during unref.

#### Other Changes
* Moved to XDG compliant config files in ~/.config/beast/.
* Integrated all Beast documentation artefacts into a single manual.
* Support latex formula rendering and proper fonts for the manual.

----

Stefan Westerfeld (8):
      BSE: bsesong: use APPLY_IDL_PROPERTY for loop_enabled
      BSE: bseitem: check if undo is needed in APPLY_IDL_PROPERTY()
      BSE: bseitem: fix APPLY_IDL_PROPERTY() bugs for non primitive types
      TESTS: audio: adapt soundfont test reference file to fluidsynth2
      BSE: SF2: adapt fluidsynth settings to fluidsynth 2 constraints
      config-checks.mk: require fluidsynth >= 2.0.0
      BSE: SF2: port soundfont support to fluidsynth2 API
      BSE: Makefile.mk: use correct compiler flags for building libbse

Tim Janik (759):
      Makefile.mk: fix distcheck dependency
      PO: updates for 'make dist'
      MISC: Makefile.mk: add 'release-commits' rule
      NEWS.md: update news for 0.14
      MISC: Makefile.mk: add 'release-news' rule
      version.sh: print the last release tag with `./version.sh --last`
      EBEAST: Makefile.mk: run npm in prefer-offline mode
      config-uname.mk: allow MODE=asan to instrument global variables with -fno-common
      config-uname.mk: avoid exporting inlined symbols with -fvisibility-inlines-hidden
      EBEAST: scrollbar.scss: style scrollbar increment/decrement buttons
      EBEAST: scrollbar.scss: add scrollbar handle shading
      EBEAST: scrollbar.scss: use track borders and round ends
      EBEAST: scrollbar.scss: adjust track background
      EBEAST: scrollbar.scss: adjust sizes and backgrounds
      EBEAST: Makefile.mk, scrollbar.scss: generate 4 directional arrow PNGs
      EBEAST: scrollbar.scss: move webkit-scrollbar settings here
      EBEAST: triangle32.png, r+d-files/triangle32.svg: add 32px black triangle
      EBEAST: embed build rule extensions in '@supports(--makefile:rule)' in CSS files
      EBEAST: Makefile.mk: minor edit
      EBEAST: v8bse/nodemodule: provide fake argv0 for be initialization
      BSE: bsemain: force non-NULL argc and argv pointers
      BSE: bsemain: check *argc before reassigning it
      EBEAST: menus.js: add 'New Project'
      EBEAST: vc/projectshell.vue: destroy old project
      EBEAST: menus.js: add 'save-same' and support disabled menu items
      EBEAST: vc/projectshell.vue: do not swallow storage errors
      EBEAST: menus.js: allow saving files with save_project()
      EBEAST: vc/projectshell.vue: add save_project()
      BSE: bseapi: add Bse.Project.store
      EBEAST: menus.js: allow opening files with load_project()
      EBEAST: vc/projectshell.vue: extract method load_project()
      EBEAST: vc/utilities.js: add format_title()
      BSE: bsemain: fix rc path to use ~/.config/beast/bserc.xml for BSE settings
      EBEAST: menus.js: fix whitespaces
      BSE: bsemain: support --bse-rcfile for Bse::Configuration
      BSE: remove CLI options for latency mixing_freq control_freq
      BSE: remove obsolete gconfig implementation
      EBEAST: vc/preferencesdialog.vue: prevent editing locked settings
      BSE: move to the new {get|set}_config() API on Bse.server
      BEAST-GTK: remove all code dealing with BSE preferences
      EBEAST: integrate a "Preferences..." dialog
      EBEAST: vc/preferencesdialog.vue: add component for preferences editing
      EBEAST: vc/utilities.js: use a darker backdrop for modals
      EBEAST: vc/fed-object.vue: add `debounce` attribute
      EBEAST: vc/utilities.js: add debounce
      EBEAST: vc/fed-object.vue: add component for editing objects with several fields
      EBEAST: vc/utilities.js: add assign_forof and assign_forin
      EBEAST: vc/fed-text.vue: add component for text fields
      EBEAST: vc/fed-number.vue: add component for numeric fields
      EBEAST: vc/fed-switch.vue: add component for boolean fields
      EBEAST: vc/styles.scss: add styles for vc-focus-box-shadow and a vc-switch
      EBEAST: vc/example.vue: Keep notes / cheatsheet on Vue components
      EBEAST: provide Util globally instead of needing multiple includes
      EBEAST: Makefile.mk: run linter in parallel with component rebuilds
      BSE: bseapi: server: add get_config_defaults()
      BSE: bseapi: server: add {set|get}_config()
      BSE: bsemain: add global_config_{get|set|flush}
      TESTS: checkserialize: test Configuration serialization
      BSE: bseapi: add record Configuration, replicated from bsebasics.idl
      BSE: AuxTypes.py: remove obsolete aux-type implementation
      config-uname.mk: MODE=debug: avoid optimizations that confuse debug info
      AIDACC: tests/t304-cxxclient.ref: adjust to recent changes
      AIDACC: tests/Makefile.mk: remove obsolete _() work around
      EBEAST: vc: fix linter warnings
      EBEAST: .eslintrc.js: disable harmless warnings about order or escapes
      TESTS: resamplehandle: fix signedness
      BSE: bsestartup: fix includes
      AIDACC: aida: fix compiler warnings
      BEAST-GTK: gxk/Makefile.mk: disable GLib deprecation warnings
      TESTS: fix include order
      TESTS: checkserialize: remove unused method
      AIDACC: CxxStub.py: avoid generating useless conversion to base type vector<Any>
      AIDACC: aida: EnableSharedFromThis: provide virtual dtor
      AIDACC: aida: rename PropertyAccessor::typedata
      AIDACC: tests: update aidacc test references
      AIDACC: tests/Makefile.mk: resurrect aidacc ref tests
      AIDACC: CxxStub.py: remove duplicate enum typedata registration
      EBEAST: vc/utilities.js: add map_from_kvpairs()
      AIDACC: CxxStub.py: rename __typedata__(), similar to __typename__()
      EBEAST: v8bse/V8Stub.py: export __typedata__ method on recrods and sequences
      AIDACC: CxxStub.py: turn __aida_aux_data__ into a static method
      AIDACC: aida: fix typedata missing typename= and type=
      BSE: bsemain: merge bse_init_intern into bse_main_loop_thread
      BSE: bsemain: remove bse_init_inprocess
      BSE: bseprocidl: use Bse::init_async() to initialize
      BSE: path: add mkdirs()
      BSE: path: add stringread() and stringwrite()
      BSE: bseglobals: add exec_timeout()
      Makefile.mk: upgrade build to C++17
      TESTS: audio/Makefile.mk: add missing plugin dependencies
      BSE: bsesong: use int for tpqn, numerator, denominator for APPLY_IDL_PROPERTY
      BSE: bsesong: use APPLY_IDL_PROPERTY()
      BSE: bseitem: make all apply_idl_property() helper functions private
      BSE: apply_idl_property: fix std::move case and missing notifications
      BSE: bseitem: constrain int/float/enum properties
      BSE: internal: sort macros semi-alphabetically to ease browsing
      BSE: internal: move APPLY_IDL_PROPERTY() here
      BSE: bseitem: add APPLY_IDL_PROPERTY() helper for automatic undo and notify
      BSE: bseglobals: add exec_now() to queue a lambda into the BSE event loop
      BSE: bsesource: add SourceImpl::prepared() accessor
      BSE: serialize: complete XML serializer, squashed commit of the following:
      config-uname.mk: make missing return type/value an error
      BSE: serialize: start XML serializer, squashed commit of the following:
      BSE: regex: add Re.sub() for simple regular expression substitutions
      AIDACC: CxxStub.py: provide to_string() and from_string() for all enums
      AIDACC: aida: resolve potential shared_from_this() member ambiguity
      BSE: platform: fix g++ warning
      TESTS: explore: test (sequenced) object fields inside record
      AIDACC: aida: auto "convert" this to Any for unmatching explicit get<Any>()
      .travis.yml: avoid build log flooding
      TESTS: ipc: conditionalize memfd and seals
      TESTS: suite1-main: adjust to use bse_init_and_test()
      BSE: bse_init_and_test: run tests from within the BSE main thread
      TESTS: testresampler: avoid compiling inactive code
      TESTS: suite1-main: explicitely print exit status
      MISC: cibuild.sh, Dockerfile-cibuild: utilize ~/.electron/ as .cicache/
      BSE: pugixml: compile pugixml without exceptions
      PO: exclude external/ from translatable string scanning
      BSE: pugixml: compile pugixml into libbse
      Squash 'external/pugixml' content from commit 7247a823b722
      BSE: testing: bail out on duplicate test entries
      Makefile.mk: introduce check-bench to run the benchmark tests
      TESTS: Makefile.mk: provide a check-suite target for the unit test suite
      Makefile.mk: document check-audio
      TESTS: Makefile.mk: provide a check-loading target to test load BSE files
      TESTS: suite1-main, Makefile.mk: rename --aida-bench option
      TESTS: benchmarks: move memory allocator benchmarks from bse/ to tests/
      BSE: memory: expose MemoryArea::MEMORY_AREA_SIZE
      TESTS: benchmarks: move all unicode/utf-8 benchmarks from bse/ to tests/
      TESTS: testwavechunk: run fast loop tests in parallel
      TESTS: filtertest: run filter tests in parallel
      TESTS: resamplehandle: run resample tests in parallel
      TESTS: Makefile.mk: execute suite1 in parallel
      TESTS: suite1-main: clone test process if '-j' is given
      TESTS: ipc: add IPC functions to exchange a test plan and counter
      BSE: testing: run_test(): unconditionally run test if it exists
      AIDACC: GNUmakefile: support tests/ local build rules
      TESTS: Makefile.mk: add tests/clean and tests/all
      TESTS: suite1-main: use list_tests() and run_test()
      BSE: testing: add list_tests() and run_test()
      .travis.yml: require Fedora-27 builds to succeed
      MISC: Dockerfile-yum: download and build fluidsynth-2.0.4
      MISC: cibuild.sh: use timjanik/beast:cibase-190415-bionic as CI base image
      AIDACC: aida: shared_from_this() const: add explicit const_cast<> for g++-7.3.0
      config-checks.mk: handle pkg-config errors during config-cache.mk creation
      Makefile.mk: fix up pkg-config references to use $(PKG_CONFIG)
      MISC: Makefile.mk: keep slightly more than 50 recent AppImage builds
      MISC: Dockerfile-bionic: be verbose about the build steps
      MISC: Dockerfile-bionic: cache electron-v2.0.18 download
      MISC: Dockerfile-cibuild: use /root/.electron/*.zip download cache if present
      MISC: Dockerfile-bionic: provide python3-pandocfilters
      MISC: Dockerfile-bionic: build fluidsynth-2.0.4
      config-checks.mk: require the latest fluidsynth version, 2.0.4
      BSE: bsesoundfontrepo: remove unneeded using declaration
      BSE: synchronize the GObject ref_count with std::shared_ptr<Bse::ObjectImpl>
      AIDACC: aida: virtualize __shared_from_this__(), add EnableSharedFromThis<>
      AIDACC: GNUmakefile: support aidacc/ local build rules
      AIDACC: Makefile.mk: support subdir clean, check and all rules
      EBEAST: Makefile.mk: remove stale dependency
      EBEAST: vc/*.vue: adjust docs to use definition lists and l1/l2 headings
      DOCS: Makefile.mk: integrate ebeast/vue-docs.md into the manual
      EBEAST: Makefile.mk: generate ebeast/vue-docs.md from vue files
      DOCS: filt-docs2.py: add filter to increase and convert heading levels
      DOCS: ch-reference.md: retitle "BSE API Reference"
      EBEAST: Makefile.mk: require a readily built manual when running ebeast
      EBEAST: vc/ch-vue.md: start a chapter on Vue components in the manual
      EBEAST: vc/part-thumb.vue: re-render canvas on dom updates
      EBEAST: window.html: $forceUpdate() all components once webfonts are loaded
      EBEAST: vc/styles.scss: use Inter as $vc-theme-font-family
      EBEAST: vc/piano-roll.vue: use tabular-nums
      EBEAST: app.scss: use the Inter-Medium typeface as overall UI font
      EBEAST: Makefile.mk: add missing scss deps to components.js
      EBEAST: vc/aboutdialog.vue: avoid monospace font
      EBEAST: vc/styles.scss: allow customizations through ../variables.scss
      EBEAST: app.scss: provide font-awesome
      EBEAST: vc: merge mixins.scss and variables.scss into styles.scss
      EBEAST: Makefile.mk: eliminate js/vue copies during build
      EBEAST: Makefile.mk: download and add Inter-3.5 typeface to assets/
      DOCS: faketex/Makefile.mk: use AND_DOWNLOAD_SHAURL
      config-checks.mk: provide AND_DOWNLOAD_SHAURL to cache build time downloads
      BEAST-GTK: Makefile.mk: support subdir clean and all rules
      BEAST-GTK: GNUmakefile: support beast-gtk/ local build rules
      Makefile.mk: support 'make run' to start ebeast
      KEYS: remove unused makefiles
      SKINS: remove unused makefiles
      SKINS: images/: remove unused makefiles
      DOCS: GNUmakefile: support docs/ local build rules
      DOCS: Makefile.mk: support subdir clean and all rules
      MISC: subdirs.mk: support subdir local build rules with subdir/ prefixing
      BSE: GNUmakefile: support bse/ local build rules
      BSE: Makefile.mk: support subdir clean, check and all rules
      EBEAST: Makefile.mk: support subdir clean, run and all rules
      EBEAST: v8bse/Makefile.mk: support subdir clean and all
      DOCS: faketex/Makefile.mk: cache downloads in $XDG_CACHE_BEAST
      config-checks.mk: provide $HOME, $XDG_CACHE_HOME and $XDG_CACHE_BEAST
      MISC: cibuild.sh: use timjanik/beast:cibase-190408-bionic as CI base image
      MISC: Dockerfile-cibuild: skip electron copies
      MISC: Dockerfile-bionic: install pandoc-2.7.2
      MISC: Dockerfile-bionic: remove unused electron-1.8.8 download
      BEAST-GTK: bstapp: Help: prune and fix URLs, browse beast-manual.html
      EBEAST: menus.js: add Help menu entry to browse the Beast manual
      EBEAST: v8bse/V8Stub.py: return a "disconnector" function from on()
      EBEAST: v8bse/V8Stub.py: provide __typename__ and __typelist__ for JS
      AIDACC: CallableIface: add thread-safe __typelist_mt__ and add __typename__
      EBEAST: v8bse: fix Event getter and allow JS Event property enumeration
      AIDACC: aida: remove unused IdentifierParts and MessageId
      AIDACC: aida: remove unused EnumInfo and EnumValue
      AIDACC: CxxStub.py: remove unused __aida_{to|from}_any__ conversions
      AIDACC: CxxStub.py: implement AnySeq<->Sequence conversion via Any access
      AIDACC: CxxStub.py: implement AnyRec->Record conversion via Any assignment
      AIDACC: CxxStub.py: use inline initializers for record fields
      AIDACC: remove outdated AIDA_ENUM_DEFINE_ARITHMETIC_EQ and AIDA_FLAGS_DEFINE_ARITHMETIC_OPS
      AIDACC: remove unused __aida_{dir|get|set}__ methods
      AIDACC: CxxStub.py: remove unused friend declaration
      AIDACC: remove TypeHashList and unused related unused methods
      EBEAST: v8bse: use stringified type names for aida_remote_handle_wrapper_map
      AIDACC: add __typelist__() to retrieve a string list of an interfaces types
      AIDACC: aida: remove unused IntrospectionTypename operator
      AIDACC: aida: remove unused TRANSITION Any state
      AIDACC: remove Proto* marshalling code
      AIDACC: CxxStub.py: eliminate unused server method stubs
      AIDACC: aida: remove unused OrbObject and ObjectMap
      AIDACC: remove BaseConnection and dependant code portions
      AIDACC: aida: enumerator_to_value: support tail matches and sane fallback
      AIDACC: aida: remove unused code
      TESTS: audio/soundfont-test.bse: adjust enum symbol
      BSE: bsestorage: warn about fuzzy enumerator matches
      TESTS: adjust to new Introspection API
      EBEAST: v8bse/nodemodule: finish ENUM handling of Any
      BEAST-GTK: adjust to new Introspection API
      BSE: adjust to new Introspection API
      AIDACC: revamp introspection API & data and enumerator handling
      AIDACC: Parser.g: support single characters as enumerator values
      BSE: strings: use Aida::string_to_int() to handle negative hex numbers
      AIDACC: string_to_int: handle negative hexadecimal numbers
      AIDACC: aida: avoid storing Interfaces in Any, use just handles
      EBEAST: v8bse/nodemodule: convert Any <-> JS for INSTANCE types
      AIDACC: aida: always store remote Handles and not ImplicitBase ptrs in Any
      EBEAST: v8bse/nodemodule: guard against NULL handles when querying types
      EBEAST: vc/bundle.js: add very basic ebeast<->bse communication startup test
      EBEAST: v8bse/nodemodule: convert Any <-> JS for SEQUENCE types
      AIDACC: aida: avoid Rec/Seq ambiguity between same and convertible types
      EBEAST: v8bse: silence compiler by capturing return values
      EBEAST: v8bse/nodemodule: convert Any <-> JS for INT64 and RECORD types
      EBEAST: v8bse/nodemodule: convert Any <-> JS bool, int, float, string
      README.md: link to an IRC webinterface, so the IRC button is usable for github users
      DOCS: Makefile.mk: fix typo in markdown -> html generation rule
      AIDACC: rename Handle::down_cast() to Handle::__cast__()
      AIDACC: CxxStub.py: eliminate useless interface class name prefixing
      AIDACC: rename AnySeq (from AnyList)
      TESTS: explore: rename AnyVector
      BSE: use set_prop, get_prop, find_prop, list_props API for undo and storage
      DOCS: ch-background.md: describe AIDA types
      BEAST-GTK: use the new set_prop, get_prop, find_prop, list_props API
      BSE: sfiparams: add pspec_from_key_value_list() and adjust introspection_field_to_param_spec()
      BSE: add set_prop, get_prop, find_prop, list_props to interface Object
      AIDACC: aida: use predicate callback for PropertyAccessor and fix auxdata
      AIDACC: aux_vector_find: properly handle empty prefix
      AIDACC: aux_vector_split: fix length calculation
      AIDACC: adjust reference files
      AIDACC: add ToAnySeqConvertible and PropertyAccessorImpl for sequences
      AIDACC: add ToAnyRecConvertible and PropertyAccessorImpl for records
      AIDACC: rename PropertyAccessor and PropertyAccessorImpl
      AIDA: add missing aux_vector_split()
      AIDACC: rename AnyRec (from AnyDict)
      AIDACC: provide __visit__() and AnyRec conversion for records
      AIDACC: CxxStub.py: avoid argument name clashes
      AIDACC: generate Iface property __access__() for enums, Any and objects
      AIDACC: generate Iface property __access__() for string, float, int64, int32, bool
      EBEAST: v8bse/nodemodule: integrate libuv and ExecutionContext
      AIDACC: aida: add RemoteHandle::__typelist__()
      EBEAST: v8bse/Makefile.mk: avoid nodemodule.cc copies
      AIDACC: aida: avoid needless pointer fiddling
      BSE: assign bsepart and bsetrack Handles from Iface shared_ptrs
      AIDACC: CxxStub.py: support Handle construction from Iface shared_ptr
      TOOLS: bsetool: run bsetool commands from within the BSE thread
      AIDACC: CxxStub.py: use adopt_deleter_mt() for __iface_ptr__ in all Handles
      AIDACC: aida: add ExecutionContext::adopt_deleter_mt()
      AIDACC: properly copy closures in ExecutionContext::enqueue_mt()
      AIDACC: minor edit
      AIDACC: add prototype for GSource if glib.h wasn't included
      BSE: bsestartup: fix macro guards
      BSE: properly shutdown bseengine threads from BseServer
      BSE: bsemain: fix main_loop_thread_running access race condition
      BSE: bseobject: keep the ObjectImpl alive until finalize
      BSE: bseobject: emit events via event_dispatcher_.emit()
      BSE: bsecontainer: avoid assuming a non-NULL shared_ptr for event emission
      BEAST-GTK: bstmain: integrate ExecutionContext into BEAST event loop
      BSE: bsemain: make bse_execution_context the BSE threads default
      AIDACC: aida: rename push_thread_current and pop_thread_current
      BSE: bsemain: use ExecutionContext.create_gsource()
      AIDACC: aida: add ExecutionContext::create_gsource
      BSE: bcore: fixup executable name in error messages
      EBEAST: v8bse/V8Stub.py: use __attach__() for event connections
      BSE: bseapi-inserts: use __attach__() and HandleEventConnection
      AIDACC: aida: implement ScopedHandle via __attach__() and HandleEventConnection
      AIDACC: aida: add RemoteHandle.__attach__()
      AIDACC: aida: make __execution_context_mt__() return a reference
      AIDACC: aida.hh: move RemoteHandle remote_call*templates here
      AIDACC: introduce ScopedSemaphore
      AIDACC: aida: add ExecutionContext::enqueue_mt() variant taking ownership
      TESTS: aida-types: fix missing __attach__
      BSE: bseobject, monitor: implement __attach__
      AIDACC: aida: add EventDispatcher
      AIDACC: aida: enqueue ExecutionContext closures as const ref
      AIDACC: aida: add push/pop/get current execution context
      AIDACC: CxxStub.py: generate wrapped lambda calls for all property accessors
      AIDACC: tests/Makefile.mk: fix paths in test compilation
      AIDACC: CxxStub.py: extract method generate_remote_call()
      AIDACC: adjust test reference files to new code generation
      AIDACC: CxxStub.py: generate wrapped lambda calls for all argument types
      AIDACC: CxxStub.py: include iface header for client implementation
      BEAST-GTK: bstutils: compile bstapi_handles.cc and bstapi_interfaces.cc
      BSE: convert records/sequences between __handle__ and __iface__ types
      AIDACC: CxxStub.py: conditionally add Handle <-> __iface__ conversions
      AIDACC: CxxStub.py: merge client/server records and sequences
      AIDACC: aida: move enum macros here
      AIDACC: CxxStub.py: generate enums for the *_handles.hh header only
      AIDACC: CxxStub.py: implement down_cast via shared_ptr
      BSE: bse: deprecate init_server_connection
      AIDACC: CxxStub.py: generate wrapped lambda calls for simple argument types
      AIDACC: CxxStub.py: add __handle__() method to Iface instances
      AIDACC: CxxStub-client: remote_call*(): avoid copying instances
      AIDACC: CxxStub-client: provide remote_call{v|r|c} helpers
      AIDACC: aida: support < <= > >= operators on handles, similar to shared_ptr
      AIDACC: aida: add ImplicitBaseP shared_ptr to RemoteHandle
      AIDACC: aida: move AIDA_CPP_PASTE here
      AIDACC: aida: allow copies of VirtualEnableSharedFromThisBase
      BSE: bcore: add vector_erase_iface()
      AIDACC: Makefile.mk: add 'aidacc-check' target
      AIDACC: aida: make dealing with NULL RemoteHandles easy
      AIDACC: remove all signal code generation logic
      EBEAST: v8bse/V8Stub.py: remove signal handler code generation
      AIDACC: Parser.g: remove 'signal' parsing alltogether
      AIDACC: aida: remove unused 2-way signal emission messages
      AIDACC: aida: remove unused signal_connect / signal_disconnect
      AIDACC: aida: move event helper KeyValueConstructor next to Event definition
      BSE: cxxaux: add BSE_DEPRECATED
      SFI: sfidl-utils: remove useless aida includes
      AIDACC: aida: make __execution_context_mt__ pure virtual
      TESTS: aida-types: remove Rapicorn leftovers
      EBEAST: v8bse/V8Stub.py: remove Rapicorn leftovers
      BSE: sfi: remove Rapicorn leftovers
      BSE: sficxx, bsecxxplugin: remove Sfi::Init
      AIDACC: remove Cython/Rapicorn leftovers
      DOCS: copyright: cleanups
      BSE: remove interface TestObject and related test code
      AIDACC, BSE: provide CallableIface.__execution_context_mt__ and Bse::execution_context()
      AIDACC: CxxStub.py: make Iface classes a friend of Handle classes
      AIDACC: CxxStub.py: include interfaces.hh from handles.cc
      AIDACC: CxxStub.py: remove useless include
      BSE: bsemain: create Aida::ExecutionContext and attach it to the BSE event loop
      AIDACC: aida: add CallableIface and ExecutionContext
      SFI: sfidl: fix warning
      TESTS: suite1-main: add a simple aida remote call benchmark
      BSE: bseserver: add test counter API
      MISC: Dockerfile-yum: install python3-pandocfilters, needed for doc
      MISC: Dockerfile-cibuild: install python3-pandocfilters, needed for doc
      DOCS: Makefile.mk: install beast-manual.html
      DOCS: faketex/Makefile.mk: install doc/faketex/ CSS theme
      config-uname.mk: add INSTALL_DIR_RULE
      DOCS: Makefile.mk: always build beast-manual.html
      DOCS: faketex/faketex.scss: fix CSS header/TOC/smallcaps for pandoc1
      DOCS: Makefile.mk: disable 'smart' extension for pandoc2 html output
      config-checks.mk: provide a $(HAVE_PANDOC1) check
      DOCS: faketex/Makefile.mk: use node_modules/.bin/node-sass to compile css
      EBEAST: Makefile.mk: provide $(NODE_MODULES.deps) and $(NODE_MODULES.bin)
      DOCS: faketex/Makefile.mk: use curl for downloads, available on minimal images
      DOCS: Makefile.mk: build beast-manual.html, using faketex.css
      DOCS: faketex/Makefile.mk: provide Inconsolata, CharisSIL5, MathJax
      config-utils.mk: add word list utils, first/second/rest/rest2/foreachpair
      DOCS: faketex/faketex.scss: approximate Tex output via CSS
      DOCS: faketex/features.scss: add scss mixins for faketex.scss
      DOCS: Makefile.mk: derive manual date from VERSION_DATE
      DOCS: Makefile.mk: suggest needed packages
      DOCS: Makefile.mk: generate beast-manual.pdf via xelatex
      DOCS: Makefile.mk: avoid catch-all rules for simple file copies
      DOCS: filt-man.py: add minor comments
      DOCS: filt-man.py: add pandoc filter to convert level 2+ headers to paragraphs
      DOCS: ch-intro: extend intro
      DOCS: ch-appendix: use display math for sorted V0..V4 coeffs
      DOCS: pandoc-pdf: improve lists, figures, colors and TOC
      DOCS: pandoc-pdf: add latex header to customize pdf articles
      DOCS: ch-appendix.md: use MathJax compatible LaTeX for the mathematical bits
      DOCS: ch-appendix.md: merge modifiers.txt into the manual
      DOCS: ch-formats.md: merge bse-data-v1.txt into the manual
      DOCS: ch-formats.md: start section for file formats
      DOCS: ch-appendix.md: merge interpolation.txt into the manual
      DOCS: ch-appendix.md: start appendix
      DOCS: ch-historic.md: merge bse-heart.txt into the manual
      DOCS: ch-historic.md: merge bse-networks.txt into the manual
      DOCS: ch-historic.md: fix table captions
      DOCS: ch-historic.md: merge bse-categories.txt into the manual
      DOCS: ch-historic.md: merge bse-typesystem.txt into the manual
      DOCS: ch-background.md: add thrwading overview
      DOCS: ch-howotos.md: add sample Howto
      DOCS: ch-tutorials.md: add a brief sample tutorial
      DOCS: ch-reference.md: add API reference example
      DOCS: ch-intro.md: start a simple introduction
      EBEAST: v8bse/Makefile.sub: remove unused file
      EBEAST: Makefile.sub: remove unused file
      EBEAST: package.json.in: upgrade to node-gyp-3.8 and node-sass-4.11
      EBEAST: package.json.in: update to vue-2.6
      EBEAST: package.json.in: upgrade to browserify-16 and babelify-10
      EBEAST: vc/aboutdialog.vue, vc/color-picker.vue: add missing vue :key
      EBEAST: .eslintrc.js: disable overzealous linting rules
      EBEAST: package.json.in: upgrade eslint and add eslint-plugin-vue
      EBEAST: package.json.in: fix order
      EBEAST: package.json.in: upgrade electron to 2.0.x
      EBEAST: vc/aboutdialog.vue: show buildid in Help/About
      BSE: bseapi: add get_version_date(), get_version_buildid()
      LAUNCHERS: Makefile.am: remove unused file
      BEAST-GTK: build beast-$VERSION and install suid 'beast' launcher
      config-uname.mk: support INSTALL_RULE.pre-hook and INSTALL_RULE.post-hook
      BUILD: always use $(call BUILDDIR_O,...) to create builddir relative objects
      config-uname.mk: use $(call BUILDDIR_O,...) to create builddir relative objects
      LAUNCHERS: Makefile.mk: build launchers/beast
      LAUNCHERS: beaststart: use bse/sysconfig.h for versioning
      LAUNCHERS: suidmain: use seteuid, setreuid unconditionally (from POSIX 2008)
      .gitattributes: exclude .xcf files and r+d-files from archives
      BEAST-GTK: bstmain: avoid whitespace in pthread_setname_np
      BSE: bseenginemaster: avoid whitespace in pthread_setname_np
      BSE: platform: warn about whitespaces in thread names
      TOOLS: Makefile.am: remove unused file
      TESTS: suite1-main: move test_sfi_ring() here
      TOOLS: scripts: remove unused files
      R+D-FILES: retrokit.sh: move script for once-off creation here
      BSE: Makefile.am, icons/Makefile.am: remove unused files
      BSE: bseinstrument.hh, mkcalls.pl: remove unused sources
      BEAST-GTK: testgui.cc, tsmview.cc: remove unused sources
      BEAST-GTK: Makefile.am, icons/Makefile.am: remove unused files
      BUILD: remove unused autotools files
      BEAST-GTK: gxk/Makefile.am, gxk/gle-pull.sh: remove unused files
      DATA: Makefile.am: remove unused file
      DRIVERS: bse-portaudio: remove unused files
      IMAGES: Makefile.am: remove unused files
      PLUGINS: Makefile.am, Makefile.plugins: remove unused files
      PLUGINS: evaluator: remove unused code
      PLUGINS: freeverb/Makefile.am: remove unused file
      PLUGINS: icons/Makefile.am: remove unused file
      PLUGINS: icons/*.c: remove old generated files
      PLUGINS: automatically generate C sources from icons via dependencies
      PO: Makefile.am: remove unused file
      PO: tr.po: remove empty translation file
      PO: de.po: fix a translation string
      SFI: Makefile.am: remove unused file
      taptool.sh, stamp-h.in: remove unused files
      AIDACC: remove unused files
      AIDACC: tests/: remove unused files
      AIDACC: tests/Makefile.mk: add check--t305-idlcode-compile to test compile IDL code
      Makefile.mk: properly use $CCACHE and $CXXSTD when executing $CXX
      AIDACC: tests/Makefile.mk: re-enable t301-pass.idl and t302-fail.idl checks
      TESTS: explore.idl: integrate t303-explore.cc as explore tests here
      BSE: Makefile.mk: minor fixup
      TESTS: aida-types: integrate t204-aidatests.cc as aida tests here
      TESTS: aida-basics: integrate t201-basics.cc as aida tests here
      AIDACC: TypeMap.py: remove unused TypeMap implementation
      README.md: use https for badge links
      README.md: add IRC #beast badge
      README.md: provide latest AppImage download link badge
      README.md: update build instructions
      MISC: cibuild.sh: fix SCRIPTNAME
      EBEAST: Makefile.mk: properly guard -Wno-unused-but-set-variable as g++ only
      TESTS: Makefile.mk: enable fixed audio tests
      PLUGINS: davorgan: fix lock_guard to adhere to function scope
      BSE: assign explicit names to all threads
      TESTS: Makefile.sub, GNUmakefile: remove unused files
      TESTS: Makefile.mk: check that loading all bse files works
      TESTS: README: adjust instructions to the build system
      AF-TESTS: remove unused files and directory
      TESTS: Makefile.mk: add adsr-wave-2-test, balance, freak-noise, soundfont-test, etc
      TESTS: audio/Makefile.mk: create check-audio tests via template
      TESTS: audio/Makefile.mk: add tools/adsrtest and tools/adsr-wave-1-test
      Makefile.mk: provide check-audio rule and build tests *after* tools
      TESTS: audio/: move all audio test related files here
      config-checks.mk: require fluidsynth >= 1.1.7 which has audible fixes
      TOOLS: bsefcompare: integrate bsefcompare into bsetool
      TOOLS: bsefextract: integrate 'fextract' into bsetool
      TOOLS: bsetool: add 'help' command that shows commands and options
      TOOLS: magictest: fix loader testing
      TOOLS: magictest: integrate magic testing into bsetool
      TOOLS: bsetool: support variable argument lists
      TOOLS: bsetool.hh: move CommandRegistry and ArgParser here
      TOOLS: move bsetool here
      MISC: Makefile.mk: check message fixup
      BSE: Makefile.mk: install bse/*.idl as include files
      Makefile.mk: document MODE=... in 'make help'
      config-uname.mk: support user provided variable LDLIBS
      Makefile.mk: use LDMODEFLAGS when linking against libbse.so for -lasan, etc
      config-uname.mk: keep linker optimizations out of LDMODEFLAGS
      DATA: Makefile.mk: regenerate bse.pc if config vars changed
      config-checks.mk: add config-calc-hash and config-calc-hash.dep to catch CLI vars
      Makefile.mk: fix deps for 'make dist'
      .travis.yml: build appimage in release mode
      config-uname.mk: make sure -fno-strict-* options are not overridden
      MISC: cibuild.sh: support MODE=release and MODE=debug
      Makefile.mk: add distcheck and distuninstallcheck
      MISC: Makefile.mk: use VERSION_LONG
      DOCS: Makefile.mk: use VERSION_LONG and VERSION_DATE and fix deps
      BSE: Makefile.mk: use VERSION_LONG and VERSION_DATE
      Makefile.mk: use VERSION_LONG and VERSION_DATE
      config-checks.mk: provide VERSION_LONG and VERSION_DATE
      version.sh: fallback to NEWS.md
      Makefile.mk: add 'make dist'
      Makefile.mk: add ChangeLog rule
      autogen.sh: error out, autoconf is not supported anymore
      MISC: Dockerfile-yum: adjust fedora builds
      .travis.yml: fix labels
      MISC: blame-lines: fix utf8 handling
      .travis.yml: build 'make all' in parallel before building appimage with -j1
      MISC: cibuild.sh: call 'make default' instead of autogen.sh
      Makefile.mk, config-uname.mk: add MODE=quick without optimization and debugging
      DATA: Makefile.mk: allow missing desktop/mime db update commands
      MISC: keywords.sh: properly match [#%;] comment indicators in non-C sources
      MISC: Makefile.mk: fix appimage version and icon path
      MISC: AppRun: adjust ebeast path
      config-checks.mk: introduce $(VERSION_M.M.M)
      Makefile.mk: add CI rules from misc/Makefile.mk
      MISC: Makefile.mk: adjust clang-tidy output files
      MISC: Makefile.mk: use $>/ relative build and output directories
      MISC: run-cppcheck.sh: use $OUTDIR for output files
      MISC: Makefile.mk: fix $(QGEN) and $Q
      MISC: Makefile.mk: generate output in $>/misc/
      MISC: Makefile.mk: rename makefile
      AIDACC: Makefile.mk: fix aidacc --version output
      Makefile.mk: allow O=<builddir> as MAKE variable
      DATA: Makefile.mk: mime db updates may fail during uninstall
      Makefile.mk: document install rules in 'help'
      Makefile.mk: keep settings from config-defaults.mk when adding new settings
      config-checks.mk: use gold or lld for fast linking in debug MODE
      BSE: ldscript.map: fix patterns to be compatible with ld.bfd and ld.gold
      PLUGINS: Makefile.mk: build and install freeverb.so
      config-uname.mk: skip -Wl, for -L
      Makefile.mk: add compile/link test to installcheck
      BSE: Makefile.mk: install generated header files
      AIDACC: Makefile.mk: install header files
      BSE: Makefile.mk: properly namespace bse/conftest_spinlock.c
      BSE: Makefile.mk: use INSTALL_BIN_RULE_XDBG for non-release installation
      BSE: Makefile.mk: build external debug info for libbse.so
      config-uname.mk: add INSTALL_BIN_RULE_XDBG to also install debug info
      config-uname.mk: provide BUILD_SHARED_LIB_XDBG to seperate debug info
      config-uname.mk: keep LINKER.pre-hook and LINKER.post-hook unassigned
      config-uname.mk: minor comment edit
      BEAST-GTK: Makefile.mk: avoid useless file copies, call aidacc with output directory
      BSE: Makefile.mk: avoid useless file copies, call aidacc with output directory
      AIDACC: CxxStub.py: allow output directory specification
      config-checks.mk: fix forwarding from builddir MAKE invocations
      PO: Makefile.mk: capture msgfmt --statistics output for atomic printing
      config-checks.mk: remove unused conftest_header_symbol
      DATA: Makefile.mk: fix missing directory dependencies
      config-checks.mk: always use builddir for generated conftest files
      EBEAST: Makefile.mk: fix missing directory dependency
      Makefile.mk: fix include order, data/ depends on po/
      BSE: bsemididevice-oss, bsepcmdevice-oss: disable BROKEN source files
      DOCS: Makefile.mk: build and install beast.1 bsewavetool.1 bse.5
      config-checks.mk: check that $(PANDOC) actually works
      config-checks.mk: provide and check $(IMAGEMAGICK_CONVERT)
      DOCS: Makefile.mk: generate and install NEWS from NEWS.md
      NEWS.md: convert NEWS to markdown
      DOCS: Makefile.mk: install COPYING and HACKING in doc/
      DOCS: Makefile.mk: build and install doc/README
      DOCS: Makefile.mk: install doc/copyright
      DOCS: copyright: move here from debian/
      DEBIAN: remove unused files
      DATA: Makefile.mk: create $(prefix)... links (according to FHS) into $(pkglibdir)
      config-checks.mk: provide and use INSTALL_DATA
      IMAGES: Makefile.mk: copy and install image files
      config-uname.mk: provide INSTALL_SYMLINK
      DATA: Makefile.mk: install bse.pc, bse.mime, beast.xml, beast.desktop, etc
      DATA: beast.applications: move, add MP3 types and fix dups
      PO: Makefile.mk: provide INTLTOOL_MERGE and INTLTOOL_MERGE_CACHE
      PO: intltool-merge: use /usr/bin/env shebang to support custom perl paths
      PO: intltool-merge: add intltool-merge from intltool-0.51.0.tar.gz
      config-checks.mk: provide UPDATE_DESKTOP_DATABASE, UPDATE_MIME_DATABASE
      DATA: Makefile.mk: generate and install bse.pc
      BSE: Makefile.mk: link and install libbse.so under $(pkglibdir)/lib/
      BEAST-GTK: gxk/Makefile.mk: fix missing dependencies
      BSE: Makefile.mk, ldscript.map: use linker sciprt to make _* symbols private
      config-uname.mk: leave LDFLAGS untouched
      PO: Makefile.mk: add rules to build, install and update po files
      config-checks.mk: provide MSGFMT, MSGMERGE, XGETTEXT
      MEDIA: Makefile.mk: build and install media/Samples/
      MEDIA: Samples/: move retrokit.bsewave into media/Samples
      MEDIA: Makefile.mk: build and install media/Effects/
      MEDIA: Effects/: move effect files into media/Effects
      MEDIA: Makefile.mk: build and install media/Instruments/
      MEDIA: Instruments/: move instrument files into media/Instruments
      MEDIA: Makefile.mk: build and install media/Demos/
      MEDIA: Demos/: move demo files into media/Demos
      Makefile.mk: provide $(build2srcdir)
      EBEAST: Makefile.mk: add ebeast/install and ebeast/uninstall
      config-uname.mk: polish install/uninstall messages
      EBEAST: Makefile.mk: fix NPM_PROGRESS and install devtools in debug mode
      EBEAST: Makefile.mk: create $>/electron/ebeast and builds the ebeast app in $>/app/
      config-checks.mk: add $(CP)
      EBEAST: package.json.in: remove electron-packager and make electron a dev dep
      EBEAST: Makefile.mk: start building ebeast in $>/app
      config-uname.mk: create .so links upon install and fix link dependencies
      Makefile.mk: remove DEBUGFLAGS, we have MODE now
      Makefile.mk: introduce MODE= for debug, release, ubsan, asan, tsan, lsan
      DRIVERS: Makefile.mk: install modules in plugins/
      PLUGINS: Makefile.mk: install modules in plugins/
      BEAST-GTK: Makefile.mk: install bin/beast
      BSE: Makefile.mk: add install rules for libbse and header files
      config-uname.mk: provide INSTALL_DATA_RULE and INSTALL_BIN_RULE
      config-checks.mk: provide INSTALL
      BSE: Makefile.mk: avoid .sofiles indirection, simply depend on $(bse/libbse.so)
      config-uname.mk: create shared library aliases inline via LINKER pre-hook
      config-uname.mk: fix BUILD_SHARED_LIB_SOLINKS
      BEAST-GTK: Makefile.mk: build libgxk.a with BUILD_STATIC_LIB
      config-uname.mk: provide BUILD_STATIC_LIB
      DRIVERS: Makefile.mk: build modules with BUILD_SHARED_LIB
      PLUGINS: Makefile.mk: build modules with BUILD_SHARED_LIB
      BSE: Makefile.mk: build libbse.so with BUILD_SHARED_LIB
      config-uname.mk: add BUILD_SHARED_LIB, BUILD_SHARED_LIB_SOLINKS and BUILD_SHARED_LIB_SONAME
      Makefile.mk: rename 'make default' rule
      Makefile.mk: use BUILD_PROGRAM and BUILD_TEST everywhere
      config-uname.mk: add BUILD_PROGRAM and BUILD_TEST macros
      Makefile.mk: cleanups and comment fixes
      BEAST-GTK: Makefile.mk: minor cleanups
      BEAST-GTK: gxk/Makefile.mk: properly split defs and rules
      TESTS: Makefile.mk: minor cleanups
      PLUGINS: Makefile.mk: minor cleanups
      DRIVERS: Makefile.mk: minor cleanups
      BSE: icons/Makefile.mk: minor cleanups
      BSE: Makefile.mk: properly split defs and rules
      AIDACC: Makefile.mk: minor cleanups
      SFI: Makefile.mk: minor cleanups
      BSE: Makefile.mk: use ALL_TESTS for bse/integrity
      Makefile.mk: provide ALL_TESTS to build and run test programs
      config-utils.mk: add MATCH macro for regex matches on word lists
      topbuildid.hh: remove unused file
      BEAST-GTK: bstmain: use Bse macros and functions to print configuration
      BEAST-GTK: bstxkb: provide bst_have_xkb()
      BEAST-GTK: Makefile.mk: link against XKB_LIBS to use XkbGetKeyboard
      config-utils.mk: lift comments out of the MULTIOUTPUT macro definition
      BEAST-GTK: icons/Makefile.mk: generate stock icon code
      BEAST-GTK: Makefile.mk: add build rules for beast-gtk/beast
      BSE: platform: provide Bse::cpu_arch()
      BSE: Makefile.mk: build bsehack.idl via bseprocidl
      BSE: Makefile.mk: fix internal res/ paths
      BEAST-GTK: gxk/Makefile.mk: build libgxk.a, gxktest and splinetest
      config-uname.mk: provide SUBST_O and LINK_ARCHIVE
      config-checks.mk: provide GLIB_GENMARSHAL and GTK_CFLAGS, GTK_LIBS
      config-uname.mk: generate linker maps by default
      Makefile.mk: support 'defaults' and 'help' rules, store config in config-defaults.mk
      config-uname.mk: leave CFLAGS and CXXFLAGS untouched and move compilation rules here
      config-uname.mk: move LINKER macro here
      Makefile.mk:  use FORCE as dependency for .PHONY targets
      DRIVERS: Makefile.mk: build alsamidi.so and alsapcm.so
      config-checks.mk: provide ALSA_LIBS
      PLUGINS: Makefile.mk: compile .idl plugins
      PLUGINS: Makefile.mk: build pre-idl C++ plugins into cxxplugins.so
      EBEAST: window.html: log error exceptions and install devtools hotkey early
      EBEAST: v8bse/Makefile.mk: fix MAKE messages
      EBEAST: Makefile.mk: avoid progress messages for parallel builds
      BSE: Makefile.mk: split off .cc files from bse/libbse.deps
      Makefile.mk: provide $(PARALLEL_MAKE) to detect -j invocations
      EBEAST: Makefile.mk: build v8bse.node
      EBEAST: Makefile.mk: build and start ebeast
      BSE: move and integrate integrity.cc here
      Makefile.mk: add CHECK_TARGETS
      TESTS: move and integrate blocktests.cc here
      TESTS: move and integrate resamplehandle.cc here
      TESTS: move and integrate loophandle.cc here
      TESTS: move arrows.gp and filter-defs.gp here
      TESTS: move and integrate firhandle.cc here
      TESTS: move and integrate subnormals.cc here
      TESTS: move and integrate testfft.cc here
      TESTS: move and integrate filtertest.cc here (from bse/tests/filtertest.cc)
      TESTS: rename filterdesign.cc (from filtertest.cc)
      TESTS: move and integrate misctests.cc here
      TESTS: suite1-main: allow test selection via command line arg
      BSE: testing: support list of test names for run()
      config-uname.mk: move CCACHE check here to pass -fdiagnostics-color=auto to g++
      TESTS: Makefile.mk: automatically run tests/suite1
      BSE: testing: skip SLOW, BENCH and BROKEN tests by default
      TESTS: register tests as SLOW and BENCH when appropriate
      BSE: testing: allow grouping tests as SLOW, BENCH, BROKEN
      TESTS: testresampler: use TEST_ADD to run the testresampler.cc collection
      TESTS: use TEST_ADD to run testwavechunk, testresamplerq, filtertest tests
      TESTS: Makefile.mk: build tests/suite1
      TESTS: remove old plugin compilation test
      BSE: Makefile.mk: only bse/weaksym needs to depend on buildid.cc changes
      config-utils.mk: MULTIOUTPUT: allow custom PseudoTargetName
      BSE: bsetool: print Version, BuildID and Version Date
      BSE: platform, weaksym: provide version_buildid() and version_date()
      BSE: Makefile.mk: provide bse/buildid.cc instead of BSE_VERSION_BUILDID / DATE
      config-checks.mk: avoid frequent rebuilds due to BUILDID and VERSION_DATE changes
      BSE: Makefile.mk: regenerate bse/sysconfig.h when $(config-stamps) changed
      config-checks.mk: forward 'make' invocations from $>/ to $PWD/
      config-checks.mk: provide $(config-stamps) dependency for out/config-cache.mk changes
      BSE: Makefile.mk: use $(MULTIOUTPUT) for sources generated from bseapi.idl
      config-utils.mk: add MULTIOUTPUT for robust handling of multi-ouput recipes
      BSE: tests/Makefile.mk: use $(LINKER)
      BSE: Makefile.mk: use $(LINKER)
      SFI: Makefile.mk: use $(LINKER)
      config-utils.mk: provide $(LINKER) meta function and $(,)
      config-checks.mk: provide BSEDEPS_CFLAGS and BSEDEPS_LIBS
      config-checks.mk: fix error message
      BSE: Makefile.mk: build bse/tests *after* bse, so bse/* variables can be referenced
      BSE: tests/Makefile.mk: build bse/tests/integrity and add checks
      config-utils.mk: provide QDIE
      Makefile.mk: allow overriding OUTDIR
      BSE: path: use PREFIXDIR instead of INSTRUMENTDIR for selftests
      BSE: platform: fix objdir handling
      BSE: compile the generated FFT code as part of gslfilter.cc
      BSE: Makefile.mk: treat directories as precious intermediaries
      BSE: provide and use BSE_VERSION_STRING and BSE_GETTEXT_DOMAIN
      BSE: platform: determine LIBTOOL_OBJDIR on the fly
      BSE: detect old vorbisfile versions and define BSE_VORBISFILE_BAD_SEEK
      config-checks.mk: check all required third party libraries with pkg-config
      BSE: gsldatahandle-mad: remove useless include
      BSE: Makefile.mk: generate and use bse/bsegentype_array.cc, bse/bsegentypes.cc
      BSE: bsestartup: fix Bse::version() usage
      BSE: always use BSE_*_VERSION defines to avoid namespace pollution
      BSE: bseplugin: fix useless include
      BSE: bseloader-mad: remove unneeded include
      BSE: Makefile.mk: generate and use bse/bseenum_arrays.cc, bse/bseenum_list.cc
      BSE: icons/Makefile.mk: generate and use .c sources from .png icons
      BSE: generate bsegenbasics.cc, bsebasics.genidl.hh, bsebusmodule.genidl.hh
      BSE: Makefile.mk: generate bseapi.idl source code files
      BSE: Makefile.mk: generate bsegentypes.h
      AIDACC: Makefile.mk: build and check aidacc
      SFI: Makefile.mk: fix test
      SFI: Makefile.mk: build and check testsfidl
      SFI: Makefile.mk: build sfidl
      Makefile.mk: include config-checks.mk early on
      config-checks.mk: include glib, gobject, gmodule in GLIB CFLAGS and LIBS
      BSE: Makefile.mk: add list of bse/libbse.headers
      config-utils.mk: show QGEN output also for V=1
      BSE: generate and compile zres.cc
      GNUmakefile: make Makefile.mk the toplevel makefile
      BSE: remove bseconfig.h.in and sysconfig.h.in
      config-checks.mk: ensure out/ exists for config-cache.mk
      .gitignore: reduce ignores to the single out/ output directory in use
      BUILD: remove all .gitignore files
      EBEAST: remove all .gitignore files
      BSE: remove all .gitignore files
      BEAST-GTK: remove all .gitignore files
      BSE: Makefile.mk: add makefile for libbse.so and bsetool
      config-checks.mk: add helper for version and library checks
      Makefile.mk: add topmost makefile for GNU Make builds
      config-uname.mk: add helper to setup compiler flags
      config-utils.mk: add helper for quiet make output and .git detection
      AIDACC: Makefile.sub: fix '$?' in recipe
      BSE: path, sfifilecrawler: use getpwnam_r unconditionally (from POSIX 2008)
      BSE: Makefile.am: fix linking against libmad
      BSE: bseloader-mad, gsldatahandle-mad: check for mad.h
      configure.ac: remove MAD checks
      BSE: bseconfig.h.in: remove unused BSE_CHECK_VERSION
      BSE: sysconfig.h.in, configure.ac: remove SIZEOF_SYS_TYPESH_UINT check
      BSE: cxxaux: provide 'uint' as convenience type.
      BSE: platform: allow detecting build tree libbse.so without libtool objdir
      BSE: backtrace: use __has_include which is provided by gcc-5 and clang-4
      version.sh: identify release tags
      .gitattributes: support export-subst expansion for version.sh
      version.sh: extract version from NEWS and git archive export-subst fields
      version.sh: rename version detection script


--
Yours sincerely,
Tim Janik

https://testbit.eu/timj
Free software author.
_______________________________________________
beast mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/beast
_______________________________________________
beast mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/beast