Beast 0.14.0 released

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:


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 require fluidsynth >= 2.0.0
      BSE: SF2: port soundfont support to fluidsynth2 API
      BSE: use correct compiler flags for building libbse

Tim Janik (759): fix distcheck dependency
      PO: updates for 'make dist'
      MISC: add 'release-commits' rule update news for 0.14
      MISC: add 'release-news' rule print the last release tag with `./ --last`
      EBEAST: run npm in prefer-offline mode allow MODE=asan to instrument global variables with -fno-common 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:, 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: 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
      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: 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: remove obsolete aux-type implementation MODE=debug: avoid optimizations that confuse debug info
      AIDACC: tests/t304-cxxclient.ref: adjust to recent changes
      AIDACC: tests/ 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/ disable GLib deprecation warnings
      TESTS: fix include order
      TESTS: checkserialize: remove unused method
      AIDACC: 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/ resurrect aidacc ref tests
      AIDACC: remove duplicate enum typedata registration
      EBEAST: vc/utilities.js: add map_from_kvpairs()
      AIDACC: rename __typedata__(), similar to __typename__()
      EBEAST: v8bse/ export __typedata__ method on recrods and sequences
      AIDACC: 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() upgrade build to C++17
      TESTS: audio/ 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: 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: 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:, 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 introduce check-bench to run the benchmark tests
      TESTS: provide a check-suite target for the unit test suite document check-audio
      TESTS: provide a check-loading target to test load BSE files
      TESTS: suite1-main, 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: 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: 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: 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 handle pkg-config errors during creation fix up pkg-config references to use $(PKG_CONFIG)
      MISC: 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 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: support subdir clean, check and all rules
      EBEAST: remove stale dependency
      EBEAST: vc/*.vue: adjust docs to use definition lists and l1/l2 headings
      DOCS: integrate ebeast/ into the manual
      EBEAST: generate ebeast/ from vue files
      DOCS: add filter to increase and convert heading levels
      DOCS: retitle "BSE API Reference"
      EBEAST: require a readily built manual when running ebeast
      EBEAST: vc/ 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: 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: eliminate js/vue copies during build
      EBEAST: download and add Inter-3.5 typeface to assets/
      DOCS: faketex/ use AND_DOWNLOAD_SHAURL provide AND_DOWNLOAD_SHAURL to cache build time downloads
      BEAST-GTK: support subdir clean and all rules
      BEAST-GTK: GNUmakefile: support beast-gtk/ local build rules 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: support subdir clean and all rules
      MISC: support subdir local build rules with subdir/ prefixing
      BSE: GNUmakefile: support bse/ local build rules
      BSE: support subdir clean, check and all rules
      EBEAST: support subdir clean, run and all rules
      EBEAST: v8bse/ support subdir clean and all
      DOCS: faketex/ cache downloads in $XDG_CACHE_BEAST provide $HOME, $XDG_CACHE_HOME and $XDG_CACHE_BEAST
      MISC: 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/ return a "disconnector" function from on()
      EBEAST: v8bse/ 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: remove unused __aida_{to|from}_any__ conversions
      AIDACC: implement AnySeq<->Sequence conversion via Any access
      AIDACC: implement AnyRec->Record conversion via Any assignment
      AIDACC: use inline initializers for record fields
      AIDACC: remove unused __aida_{dir|get|set}__ methods
      AIDACC: 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: 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 link to an IRC webinterface, so the IRC button is usable for github users
      DOCS: fix typo in markdown -> html generation rule
      AIDACC: rename Handle::down_cast() to Handle::__cast__()
      AIDACC: 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: 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: 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/ avoid copies
      AIDACC: aida: avoid needless pointer fiddling
      BSE: assign bsepart and bsetrack Handles from Iface shared_ptrs
      AIDACC: support Handle construction from Iface shared_ptr
      TOOLS: bsetool: run bsetool commands from within the BSE thread
      AIDACC: 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/ 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: generate wrapped lambda calls for all property accessors
      AIDACC: tests/ fix paths in test compilation
      AIDACC: extract method generate_remote_call()
      AIDACC: adjust test reference files to new code generation
      AIDACC: generate wrapped lambda calls for all argument types
      AIDACC: include iface header for client implementation
      BEAST-GTK: bstutils: compile and
      BSE: convert records/sequences between __handle__ and __iface__ types
      AIDACC: conditionally add Handle <-> __iface__ conversions
      AIDACC: merge client/server records and sequences
      AIDACC: aida: move enum macros here
      AIDACC: generate enums for the *_handles.hh header only
      AIDACC: implement down_cast via shared_ptr
      BSE: bse: deprecate init_server_connection
      AIDACC: generate wrapped lambda calls for simple argument types
      AIDACC: 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: add 'aidacc-check' target
      AIDACC: aida: make dealing with NULL RemoteHandles easy
      AIDACC: remove all signal code generation logic
      EBEAST: v8bse/ 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/ 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: make Iface classes a friend of Handle classes
      AIDACC: include interfaces.hh from
      AIDACC: 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: install beast-manual.html
      DOCS: faketex/ install doc/faketex/ CSS theme add INSTALL_DIR_RULE
      DOCS: always build beast-manual.html
      DOCS: faketex/faketex.scss: fix CSS header/TOC/smallcaps for pandoc1
      DOCS: disable 'smart' extension for pandoc2 html output provide a $(HAVE_PANDOC1) check
      DOCS: faketex/ use node_modules/.bin/node-sass to compile css
      EBEAST: provide $(NODE_MODULES.deps) and $(NODE_MODULES.bin)
      DOCS: faketex/ use curl for downloads, available on minimal images
      DOCS: build beast-manual.html, using faketex.css
      DOCS: faketex/ provide Inconsolata, CharisSIL5, MathJax 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: derive manual date from VERSION_DATE
      DOCS: suggest needed packages
      DOCS: generate beast-manual.pdf via xelatex
      DOCS: avoid catch-all rules for simple file copies
      DOCS: add minor comments
      DOCS: 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: use MathJax compatible LaTeX for the mathematical bits
      DOCS: merge modifiers.txt into the manual
      DOCS: merge bse-data-v1.txt into the manual
      DOCS: start section for file formats
      DOCS: merge interpolation.txt into the manual
      DOCS: start appendix
      DOCS: merge bse-heart.txt into the manual
      DOCS: merge bse-networks.txt into the manual
      DOCS: fix table captions
      DOCS: merge bse-categories.txt into the manual
      DOCS: merge bse-typesystem.txt into the manual
      DOCS: add thrwading overview
      DOCS: add sample Howto
      DOCS: add a brief sample tutorial
      DOCS: add API reference example
      DOCS: start a simple introduction
      EBEAST: v8bse/Makefile.sub: remove unused file
      EBEAST: Makefile.sub: remove unused file
      EBEAST: upgrade to node-gyp-3.8 and node-sass-4.11
      EBEAST: update to vue-2.6
      EBEAST: 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: upgrade eslint and add eslint-plugin-vue
      EBEAST: fix order
      EBEAST: 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: remove unused file
      BEAST-GTK: build beast-$VERSION and install suid 'beast' launcher support INSTALL_RULE.pre-hook and
      BUILD: always use $(call BUILDDIR_O,...) to create builddir relative objects use $(call BUILDDIR_O,...) to create builddir relative objects
      LAUNCHERS: 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: remove unused file
      TESTS: suite1-main: move test_sfi_ring() here
      TOOLS: scripts: remove unused files
      R+D-FILES: move script for once-off creation here
      BSE:, icons/ remove unused files
      BSE: bseinstrument.hh, remove unused sources
      BEAST-GTK:, remove unused sources
      BEAST-GTK:, icons/ remove unused files
      BUILD: remove unused autotools files
      BEAST-GTK: gxk/, gxk/ remove unused files
      DATA: remove unused file
      DRIVERS: bse-portaudio: remove unused files
      IMAGES: remove unused files
      PLUGINS:, Makefile.plugins: remove unused files
      PLUGINS: evaluator: remove unused code
      PLUGINS: freeverb/ remove unused file
      PLUGINS: icons/ remove unused file
      PLUGINS: icons/*.c: remove old generated files
      PLUGINS: automatically generate C sources from icons via dependencies
      PO: remove unused file
      PO: tr.po: remove empty translation file
      PO: de.po: fix a translation string
      SFI: remove unused file, remove unused files
      AIDACC: remove unused files
      AIDACC: tests/: remove unused files
      AIDACC: tests/ add check--t305-idlcode-compile to test compile IDL code properly use $CCACHE and $CXXSTD when executing $CXX
      AIDACC: tests/ re-enable t301-pass.idl and t302-fail.idl checks
      TESTS: explore.idl: integrate as explore tests here
      BSE: minor fixup
      TESTS: aida-types: integrate as aida tests here
      TESTS: aida-basics: integrate as aida tests here
      AIDACC: remove unused TypeMap implementation use https for badge links add IRC #beast badge provide latest AppImage download link badge update build instructions
      EBEAST: properly guard -Wno-unused-but-set-variable as g++ only
      TESTS: 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: check that loading all bse files works
      TESTS: README: adjust instructions to the build system
      AF-TESTS: remove unused files and directory
      TESTS: add adsr-wave-2-test, balance, freak-noise, soundfont-test, etc
      TESTS: audio/ create check-audio tests via template
      TESTS: audio/ add tools/adsrtest and tools/adsr-wave-1-test provide check-audio rule and build tests *after* tools
      TESTS: audio/: move all audio test related files here 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: check message fixup
      BSE: install bse/*.idl as include files document MODE=... in 'make help' support user provided variable LDLIBS use LDMODEFLAGS when linking against for -lasan, etc keep linker optimizations out of LDMODEFLAGS
      DATA: regenerate bse.pc if config vars changed add config-calc-hash and config-calc-hash.dep to catch CLI vars fix deps for 'make dist'
      .travis.yml: build appimage in release mode make sure -fno-strict-* options are not overridden
      MISC: support MODE=release and MODE=debug add distcheck and distuninstallcheck
      DOCS: use VERSION_LONG and VERSION_DATE and fix deps
      BSE: use VERSION_LONG and VERSION_DATE use VERSION_LONG and VERSION_DATE provide VERSION_LONG and VERSION_DATE fallback to add 'make dist' add ChangeLog rule 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: call 'make default' instead of, add MODE=quick without optimization and debugging
      DATA: allow missing desktop/mime db update commands
      MISC: properly match [#%;] comment indicators in non-C sources
      MISC: fix appimage version and icon path
      MISC: AppRun: adjust ebeast path introduce $(VERSION_M.M.M) add CI rules from misc/
      MISC: adjust clang-tidy output files
      MISC: use $>/ relative build and output directories
      MISC: use $OUTDIR for output files
      MISC: fix $(QGEN) and $Q
      MISC: generate output in $>/misc/
      MISC: rename makefile
      AIDACC: fix aidacc --version output allow O=<builddir> as MAKE variable
      DATA: mime db updates may fail during uninstall document install rules in 'help' keep settings from when adding new settings use gold or lld for fast linking in debug MODE
      BSE: fix patterns to be compatible with ld.bfd and
      PLUGINS: build and install skip -Wl, for -L add compile/link test to installcheck
      BSE: install generated header files
      AIDACC: install header files
      BSE: properly namespace bse/conftest_spinlock.c
      BSE: use INSTALL_BIN_RULE_XDBG for non-release installation
      BSE: build external debug info for add INSTALL_BIN_RULE_XDBG to also install debug info provide BUILD_SHARED_LIB_XDBG to seperate debug info keep LINKER.pre-hook and unassigned minor comment edit
      BEAST-GTK: avoid useless file copies, call aidacc with output directory
      BSE: avoid useless file copies, call aidacc with output directory
      AIDACC: allow output directory specification fix forwarding from builddir MAKE invocations
      PO: capture msgfmt --statistics output for atomic printing remove unused conftest_header_symbol
      DATA: fix missing directory dependencies always use builddir for generated conftest files
      EBEAST: fix missing directory dependency fix include order, data/ depends on po/
      BSE: bsemididevice-oss, bsepcmdevice-oss: disable BROKEN source files
      DOCS: build and install beast.1 bsewavetool.1 bse.5 check that $(PANDOC) actually works provide and check $(IMAGEMAGICK_CONVERT)
      DOCS: generate and install NEWS from convert NEWS to markdown
      DOCS: install COPYING and HACKING in doc/
      DOCS: build and install doc/README
      DOCS: install doc/copyright
      DOCS: copyright: move here from debian/
      DEBIAN: remove unused files
      DATA: create $(prefix)... links (according to FHS) into $(pkglibdir) provide and use INSTALL_DATA
      IMAGES: copy and install image files provide INSTALL_SYMLINK
      DATA: install bse.pc, bse.mime, beast.xml, beast.desktop, etc
      DATA: beast.applications: move, add MP3 types and fix dups
      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 provide UPDATE_DESKTOP_DATABASE, UPDATE_MIME_DATABASE
      DATA: generate and install bse.pc
      BSE: link and install under $(pkglibdir)/lib/
      BEAST-GTK: gxk/ fix missing dependencies
      BSE:, use linker sciprt to make _* symbols private leave LDFLAGS untouched
      PO: add rules to build, install and update po files provide MSGFMT, MSGMERGE, XGETTEXT
      MEDIA: build and install media/Samples/
      MEDIA: Samples/: move retrokit.bsewave into media/Samples
      MEDIA: build and install media/Effects/
      MEDIA: Effects/: move effect files into media/Effects
      MEDIA: build and install media/Instruments/
      MEDIA: Instruments/: move instrument files into media/Instruments
      MEDIA: build and install media/Demos/
      MEDIA: Demos/: move demo files into media/Demos provide $(build2srcdir)
      EBEAST: add ebeast/install and ebeast/uninstall polish install/uninstall messages
      EBEAST: fix NPM_PROGRESS and install devtools in debug mode
      EBEAST: create $>/electron/ebeast and builds the ebeast app in $>/app/ add $(CP)
      EBEAST: remove electron-packager and make electron a dev dep
      EBEAST: start building ebeast in $>/app create .so links upon install and fix link dependencies remove DEBUGFLAGS, we have MODE now introduce MODE= for debug, release, ubsan, asan, tsan, lsan
      DRIVERS: install modules in plugins/
      PLUGINS: install modules in plugins/
      BEAST-GTK: install bin/beast
      BSE: add install rules for libbse and header files provide INSTALL_DATA_RULE and INSTALL_BIN_RULE provide INSTALL
      BSE: avoid .sofiles indirection, simply depend on $(bse/ create shared library aliases inline via LINKER pre-hook fix BUILD_SHARED_LIB_SOLINKS
      BEAST-GTK: build libgxk.a with BUILD_STATIC_LIB provide BUILD_STATIC_LIB
      DRIVERS: build modules with BUILD_SHARED_LIB
      PLUGINS: build modules with BUILD_SHARED_LIB
      BSE: build with BUILD_SHARED_LIB add BUILD_SHARED_LIB, BUILD_SHARED_LIB_SOLINKS and BUILD_SHARED_LIB_SONAME rename 'make default' rule use BUILD_PROGRAM and BUILD_TEST everywhere add BUILD_PROGRAM and BUILD_TEST macros cleanups and comment fixes
      BEAST-GTK: minor cleanups
      BEAST-GTK: gxk/ properly split defs and rules
      TESTS: minor cleanups
      PLUGINS: minor cleanups
      DRIVERS: minor cleanups
      BSE: icons/ minor cleanups
      BSE: properly split defs and rules
      AIDACC: minor cleanups
      SFI: minor cleanups
      BSE: use ALL_TESTS for bse/integrity provide ALL_TESTS to build and run test programs 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: link against XKB_LIBS to use XkbGetKeyboard lift comments out of the MULTIOUTPUT macro definition
      BEAST-GTK: icons/ generate stock icon code
      BEAST-GTK: add build rules for beast-gtk/beast
      BSE: platform: provide Bse::cpu_arch()
      BSE: build bsehack.idl via bseprocidl
      BSE: fix internal res/ paths
      BEAST-GTK: gxk/ build libgxk.a, gxktest and splinetest provide SUBST_O and LINK_ARCHIVE provide GLIB_GENMARSHAL and GTK_CFLAGS, GTK_LIBS generate linker maps by default support 'defaults' and 'help' rules, store config in leave CFLAGS and CXXFLAGS untouched and move compilation rules here move LINKER macro here  use FORCE as dependency for .PHONY targets
      DRIVERS: build and provide ALSA_LIBS
      PLUGINS: compile .idl plugins
      PLUGINS: build pre-idl C++ plugins into
      EBEAST: window.html: log error exceptions and install devtools hotkey early
      EBEAST: v8bse/ fix MAKE messages
      EBEAST: avoid progress messages for parallel builds
      BSE: split off .cc files from bse/libbse.deps provide $(PARALLEL_MAKE) to detect -j invocations
      EBEAST: build v8bse.node
      EBEAST: build and start ebeast
      BSE: move and integrate here add CHECK_TARGETS
      TESTS: move and integrate here
      TESTS: move and integrate here
      TESTS: move and integrate here
      TESTS: move and here
      TESTS: move and integrate here
      TESTS: move and integrate here
      TESTS: move and integrate here
      TESTS: move and integrate here (from bse/tests/
      TESTS: rename (from
      TESTS: move and integrate here
      TESTS: suite1-main: allow test selection via command line arg
      BSE: testing: support list of test names for run() move CCACHE check here to pass -fdiagnostics-color=auto to g++
      TESTS: 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 collection
      TESTS: use TEST_ADD to run testwavechunk, testresamplerq, filtertest tests
      TESTS: build tests/suite1
      TESTS: remove old plugin compilation test
      BSE: only bse/weaksym needs to depend on changes MULTIOUTPUT: allow custom PseudoTargetName
      BSE: bsetool: print Version, BuildID and Version Date
      BSE: platform, weaksym: provide version_buildid() and version_date()
      BSE: provide bse/ instead of BSE_VERSION_BUILDID / DATE avoid frequent rebuilds due to BUILDID and VERSION_DATE changes
      BSE: regenerate bse/sysconfig.h when $(config-stamps) changed forward 'make' invocations from $>/ to $PWD/ provide $(config-stamps) dependency for out/ changes
      BSE: use $(MULTIOUTPUT) for sources generated from bseapi.idl add MULTIOUTPUT for robust handling of multi-ouput recipes
      BSE: tests/ use $(LINKER)
      BSE: use $(LINKER)
      SFI: use $(LINKER) provide $(LINKER) meta function and $(,) provide BSEDEPS_CFLAGS and BSEDEPS_LIBS fix error message
      BSE: build bse/tests *after* bse, so bse/* variables can be referenced
      BSE: tests/ build bse/tests/integrity and add checks provide QDIE 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
      BSE: treat directories as precious intermediaries
      BSE: platform: determine LIBTOOL_OBJDIR on the fly
      BSE: detect old vorbisfile versions and define BSE_VORBISFILE_BAD_SEEK check all required third party libraries with pkg-config
      BSE: gsldatahandle-mad: remove useless include
      BSE: generate and use bse/, bse/
      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: generate and use bse/, bse/
      BSE: icons/ generate and use .c sources from .png icons
      BSE: generate, bsebasics.genidl.hh, bsebusmodule.genidl.hh
      BSE: generate bseapi.idl source code files
      BSE: generate bsegentypes.h
      AIDACC: build and check aidacc
      SFI: fix test
      SFI: build and check testsfidl
      SFI: build sfidl include early on include glib, gobject, gmodule in GLIB CFLAGS and LIBS
      BSE: add list of bse/libbse.headers show QGEN output also for V=1
      BSE: generate and compile
      GNUmakefile: make the toplevel makefile
      BSE: remove and ensure out/ exists for
      .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: add makefile for and bsetool add helper for version and library checks add topmost makefile for GNU Make builds add helper to setup compiler flags 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: fix linking against libmad
      BSE: bseloader-mad, gsldatahandle-mad: check for mad.h remove MAD checks
      BSE: remove unused BSE_CHECK_VERSION
      BSE:, remove SIZEOF_SYS_TYPESH_UINT check
      BSE: cxxaux: provide 'uint' as convenience type.
      BSE: platform: allow detecting build tree without libtool objdir
      BSE: backtrace: use __has_include which is provided by gcc-5 and clang-4 identify release tags
      .gitattributes: support export-subst expansion for extract version from NEWS and git archive export-subst fields rename version detection script

Yours sincerely,
Tim Janik
Free software author.
beast mailing list
beast gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]