Branch 'ebeast' merge:
The 'ebeast' branch has now been rebased and merged into 'master'.
As suggested by Stefan, npm support is currently optional (auto detected)
and configure supports --without-npm to disable npm + electron builds
altogether. Also, distribution tarballs are not currently shipping the
ebeast/ subdir, so its not currently built during packaging either.
Ebeast currently depends on npm version 1.4.21, that *might* be too old.
From what I could gather, debian:jessie and ubuntu:willy have npm 1.4.21
ubuntu:xenial has 3.5.2. I know ebeast builds work correctly under xenial,
feedback on earlier npm versions is appreciated.
That said, the ebeast/ directory now supports make 'install' and
'uninstall' to test electron packaging.
Once it's mildly functional, it's planned to install a $bindir
wrapper executable that starts ebeast from the "installed"
ebeast electron package. Interestingly, the electron packages are
relocatable, for the future it'd be great to have a tighter
integration with libbse (maybe linking it into v8bse) and the
audio resources we are shipping.
The ebeast executable itself has a bunch of HTML/CSS/JS boilerplate
in place now, so the next step is to actually hook up it's UI with
BSE object functionality. A good amount of the BSE API is bound to
JS now via the v8bse module, which in turn uses v8pp.
I've removed the git submodule commit that brought in a pacthed v8pp,
because forcing git users to issue extra commands sucks and submodules
don't allow to reliably restore a historic source code tree, in
particular if the linked upstream repo or a critical commit therein
vanishes (e.g. through rebasing). So 'master' now uses a git subtree
under external/v8pp/ to embed a full version of the needed v8pp code
which works transparently for the casual git user.
That is, the beast.git repository does generally *not* use git
submodules and the old 'ebeast' branch that tested this approach is
going to be deleted, since its contents have been merged into master.
About git subtree:
For the record, here are the commands I've used to construct the v8pp
subtree integration commits (see also GIT-SUBTREE(1)):