Lilv 0.5.0

Lilv 0.5.0 is out.

Changes:

  • Remove glib dependency
  • Add lv2core as a pkg-config dependency (for lv2.h header include)
  • Obey prefix when installing bash completion script
  • Support integer minimum, maximum, and default port values in lilv_plugin_get_port_ranges_float
  • Add ability to build static library

Serd 0.5.0

Serd 0.5.0 is out.

Changes:

  • Fix pretty printing of successive blank descriptions, i.e. “] , [“
  • Avoid writing illegal Turtle names as a result of URI qualifying
  • Gracefully handle NULL reader sinks
  • Add serd_strerror
  • Add serd_env_set_prefix_from_strings for convenience
  • Fix erroneously equal SERD_ERR_BAD_SYNTAX and SERD_ERR_BAD_ARG
  • Add ability to build static library

New LV2 host implementation stack

I have released my new stack of libraries for implementing LV2 in hosts:

  • Serd, a fast, lightweight, dependency-free Turtle syntax library
  • Sord, an in-memory RDF quad store
  • Lilv, an LV2 host library (replaces SLV2)
  • Suil, an LV2 UI loading/embedding library

These libraries collectively replace SLV2, and have no dependencies except amongst themselves, and Glib (by Lilv and Sord, but this dependency will likely be removed in the near future). Serd and Sord replace Redland, making for a dramatically smaller implementation more appropriate for audio software and embedded applications.

Overall, Lilv is dramatically faster and leaner than SLV2, enough that the improvement should be quite noticeable from a user point of view (typically in a lag when the host first loads all LV2 data). Anyone using SLV2 is highly encouraged to migrate to Lilv.

These libraries are well tested, each (except Suil) with a test suite covering over 90% of the code, which runs without memory errors or leaks. They are new, however, so (as always) there may be problems; feedback is most welcome.

SLV2 is dead, long live SLV2

(See below for important information for anyone following my SVN repository)

I’ve decided to replace SLV2 with a new library (named “Lilv”) instead of breaking the API which has been causing a lot of hassle, and would only cause more when it gets released and packaged. Among other things, this gives me the opportunity to rework the installation to support parallel installs of different major versions to prevent this kind of problem in the future. It also gives me a chance to improve the API and remove some cruft that has accumulated to avoid breaking the API (SLV2 has been around for many years now, and LV2 (and myself) have come a long way since then, it’s a good time to do some laundry).

Anyone who has an SVN version of SLV2 installed, please uninstall it immediately and pretend it never existed. SLV2 0.6.6 is the last version of SLV2. The first Lilv release will be out shortly.

LV2 and “Drobillad” SVN repository changes

I have changed the layout of the LV2 repository and my LAD repository to no longer use externals for build system things (namely autowaf, which is now bundled in a custom waf script).

SVN does not deal well with anything changing about externals, so I highly recommend you delete your tree entirely and make a fresh checkout. If you don’t do this, and have problems, I don’t want to hear about them :)

Patchage 0.5.0

Patchage 0.5.0 is out.

Changes:

  • Auto-arrange interface modules sanely (align corresponding inputs/outputs)
  • Add -J (–no-jack) command line option
  • Add proper –help output and man page
  • Improve performance (dramatically for large setups)
  • Fancy console info/warning/error logging
  • Fix minor memory leaks and reduce memory consumption
  • Fix handling of ALSA duplex ports
  • Hide “split” module menu item when it is useless
  • Fix Jack D-Bus support
  • Mac OS X .app bundle port
  • Bump FlowCanvas dependency to 0.7.0
  • Add more/larger icons
  • Add missing COPYING file to distribution
  • Build system and code quality improvements

FlowCanvas 0.7.1

FlowCanvas 0.7.1 is out.

Changes:

  • Reduce memory consumption and improve alignment
  • Eliminate port control “gauge” overhead for non-control ports
  • Add “partner” concept for aligning related but unconnected nodes
  • Add missing #includes
  • Expand README
  • Add missing COPYING file to distribution
  • Upgrade to waf 1.6.2

Raul 0.8.0

Raul 0.8.0 is out.

Changes:

  • Implement Semaphore for Darwin
  • Remove unused/trivial/inappropriate Command and Stateful
  • Remove pointless templateification of RingBuffer
  • Use uint32_t consistently for sizes in RingBuffer
  • Fix off-by-one allocation of Atom strings
  • Add all classes to ‘raul’ doxygen group
  • Make single-argument constructors explicit
  • Fix incorrect TimeSlice::beats_to_ticks
  • Fix crash bug in List::chop_front
  • Fix TimeStamp comparison operators
  • Rename LOG_* defines RAUL_LOG_*
  • Remove “using namespace” declarations
  • Add missing #includes
  • Add missing COPYING file to distribution
  • Upgrade to waf 1.6.2
  • Fix accidental build system dependency on glibmm (now glib only)
  • Better documentation generation via waf tool

Trac Captcha

Disregard my last post. After a fun (read: unbearably painful as always) day of messing with Trac, I finally managed to actually get Captcha to work. If you’re one of the many who have tried to create an account in the past only to be foiled by the impossible Captcha, try again, it should work fine now.

Anonymous users can file tickets again, there is a Captcha on the ticket page now as well. Hopefully this keeps the spam out…