news 28 Posted April 20, 2016 Rapicorn is a toolkit for declarative UIs and SVG-based theming, see: http://rapicorn.org/ https://testbit.eu/pub/dists/rapicorn/ Beast is an audio composer and modular synthesis application, see: http://beast.testbit.eu/ https://testbit.eu/pub/dists/beast/ Lots of work went into the build system and linux distribution porting lately and it's starting to pay off. As I type this, the build machines are running hot, building packages based on the new versions. Once they are done, new binary packages for installation can be found here: https://bintray.com/beast-team/deb This is another one in a series of recent releases that have changed a lot under the hood but yet have little user interface visible impacts. That's going to change in the future, but before that point, here come some notable new features for developers. With recent improvements to the IDL compiler in Rapicorn, the BSE library could be wrapped in Python, so it is now possible to run the following little program in Python: import Bse, time Bse.server.register_core_plugins() time.sleep (1.5) # give time to load plugins prj = Bse.server.create_project ("example") prj.restore_from_file ("/usr/share/beast/demo/partymonster.bse") prj.play() # listen... ;-) Starting with this release, we'll use a more stringent versioning scheme, to summarize: * MAJOR: Increments on major API breaks, *forces* ABI break, resets MINOR, MICRO * MINOR: Increments for significant changes or ABI breaks, resets MICRO * MICRO: Increments with every release, increments must *not* break ABI * ABI change: Increments MAJOR or MINOR and resets MICRO Also MAJOR ideally reflects the year a major release was started. Please test and provide feedback so we can improve the experience. The detailed NEWS are appended for the curious. Rapicorn 16.0.0: (2016-04-07) * Remove internal librsvg copy, require an installed librsvg-2.0. * Provide enum meta information for enum values stored in Any. * Provide change notification signals for Parameter. * Cleanup threads via atexit(3). * Added support for auxillary data on IDL sequence and record definitions. * Added compatibility code to downgrade cython requirement to 0.20.1 for trusty. * Added fixes for g++-4.8.4 and libtool >= 1.5.2. * Grow Any content to enable structured type and small string optimizations. * Remove remove Atomic in favour of the "Construct On First Use Idiom". * Improved exception specifications to satisfy cython-0.23.3. * Reduced unit testing time, individually and by tuning the benchmark timers. * Use xvfb-run(1) to run X11 related unit tests. * Support and use the TAP protocol for unit test evaluation. * New versioning: Releases increase MAJOR for major API changes. * New versioning: Releases increase MINOR in case of any ABI breaks. * New versioning: Releases increase MICRO for backwards compatibility. * New versioning: The MAJOR number ideally matches the release year. * The Python module alias remans 'Rapicorn', stored in Rapicorn_15/. * C++ namespace changed to 'Rapicorn', files install under 'rapicorn-$MAJOR'. * The librapicorn shared library supports installation of multiple versions. * Many build system fixes and integration of travis-ci builds. * Automatically built Debian packages are now on http://bintray.com/beast-team/. * The file debian/copyright now contains an accurate licensing account. * Install cython headers to allow IDL Python bindings outside Rapicorn. * Add AutoSeeder class to provide good non-deterministic seeding entropy. * Add PCG-32 which provides fast but well distributed pseudo random numbers. * Include a random_secret() in hash functions to avoid collision attacks. * Use Python enum classes and C++11 enum classes in IDL code generation. * Fixed shebang to reliably find Python2.7. [Milk Brewster] Beast 0.10.0: (2016-04-07) * Memory leak and stability fixes. * Removal of deprecated Glib/Gtk+ functions. * A new binary 'bsetool' subsumes several old utilities. * Removal of unused utilities and several places with dead code. * Several classes are now (fully) ported to new AIDA IDL: SNet Track TrackPart Bus SampleFileInfo Project MusicalTuning NoteDescription Icon * More porting work to use Rapicorn C++11 utilities. * Fixes for g++-4.9 which has become a hard dependency. * Support and use the TAP protocol for unit test evaluation. * New versioning: Releases increase MAJOR for major API changes. * New versioning: Releases increase MINOR in case of any ABI breaks. * New versioning: Releases increase MICRO for backwards compatibility. * Now libbse supports parallel installation of runtime library packages. * Now various program and module installation paths include MAJOR. * Fix build issues with external libbse plugins. * Fix LADSPAv1 plugin registration failing to detect some plugins. * Provide C++11 API for undo/redo functions. * Add pybse API wrapper that allows Python to 'import Bse'. * Start a Python interpreter from Beast. * Split up Beast main() methods to run event loop from Python. * Port libbse to use C++11 scoped enums. -- Yours sincerely, Tim Janik https://testbit.eu/timj/ Free software author. _______________________________________________ Share this post Link to post