LucreConfluent is (C)opyright 2009–2015 Hanns Holger Rutz. It is released under the GNU Lesser General Public License v2.1+.
LucreConfluent provides a transactional, durable, and confluently persistent memory framework for the Scala programming language. It implements a transform which was described by Fiat/Kaplan and which is extended with the support for the representation of multiplicities and quasi-retroactive fluent references as well as event propagation (provided separately through the ConfluentReactive library). It uses LucreSTM for the transactional layer, and builds on top of data structures provided by the LucreData project. The overall target is integration with a system for computer music composition.
Rutz, H. H., "A Reactive, Confluently Persistent Framework for the Design of Computer Music," in Proceedings of the 9th Sound an Music Computing Conference (SMC), Copenhagen 2012.
Rutz, H. H. and Miranda, E. and Eckel, G., "On the Traceability of the Compositional Process," in Proceedings of the 8th Sound an Music Computing Conference (SMC), Padua 2010, pp. 38:1–38:7.
Fiat, A. and Kaplan, H., "Making data structures confluently persistent," in Proceedings of the 12th annual ACM-SIAM symposium on Discrete algorithms, 2001, pp. 537–546.
The following dependency is necessary:
resolvers += "Oracle Repository" at "http://download.oracle.com/maven" "de.sciss" %% "lucreconfluent" % v
The current version
previous versions / tags
Note: see tag v0.14 for the example using actual audio file regions and sonogram view. The current version is a rework based on a new modularisation.