Channel for all things SoundProcesses/Wolkenpumpe/Mellite. A comprehensive computer music framework. Noobies welcome. You need to create an account with GitLab, GitHub or Twitter to join the conversation.
Mellite 2.40.0 is published now. It continues the work on the Action and Control objects, used to define algorithmic couplings ("glue") between various objects in Mellite. In this version, particularly the passiving of parameters from a control object into a runner using runWith
has been added, as well as a way to return values, e.g. from an FScape signal process, using MkLong
, MkDouble
etc. along with a Var
passed into runWith
from the invoking control object.
This version also contains the necessary functionality to represent the first version in the ongoing effort of reimplementing and reconfiguring the installation piece Writing Machine / _wr_t_ng m_ch_n__ ; the binary upload thus contains a workspace with first tests for the new piece Writing (simultan) : https://archive.org/download/Mellite ; for background on this piece see https://www.researchcatalogue.net/view/665526/665527
Action
and Control
objects, used to define algorithmic couplings ("glue") between various objects in Mellite. In this version, support for closures has been added, allowing to map
and flatMap
options and sequences of expressions. Some elements changed, such as the Act
type in action and control programs, which means that programs that make use of it are not compatible with the way preliminary support had been in v2.40.0. A new tutorial will follow.
--headless
mode has been added recently to run installations without the UI coming up. There is a new video tutorial.
Ex
/Control
objects include Sys.Exit
and Calendar
(useful to schedule actions at fixed dates), the ability to list directory contents (File.List
).
Hi @sentinelweb . In general I guess you can use Scala from Kotlin (or Java), but many features such as implicit parameters will have no matching equivalent, so it is probably not the most pleasant experience. Note that Mellite is conceptually a standalone application that provides a sort of IDE for SoundProcesses (the framework) and SoundProcesses is a high-level API for ScalaCollider. So it sounds like you will want to use SoundProcesses or ScalaCollider. ScalaCollider has a very simple structure and rarely uses features such as implicit paramters, whereas they are pervasive in SoundProcesses as it is built on a transactional system (STM). My guess is thus, that using ScalaCollider to create SuperCollider synths from Kotlin might be viable. But I cannot say for sure, for example how are companion objects seen from Kotlin, say when you write SynthGraph.apply
or SinOsc.ar
? Perhaps they look very ugly because from Java perspective companion objects are not straight forward to access.
I would recommend that you try a minimal case you need for your project, like booting a server and running a synth from a preexisting SynthDef. To see if that is feasible at all. I haven't tried it.
Mellite 3.5.0 is published, and can be installed now through an experimental launcher: https://github.com/Sciss/Mellite-launcher/releases/tag/v0.1.0 - this has a built in update mechanism, and thus will liberate me from having to build platform specific versions of every Mellite update, as well as liberating you from having to re-install Mellite again and again when an update is published.
Give it a spin, and let me know if there are any issues. Or if you need a build for a different architecture.
I will show this launcher and new features of Mellite 3.5.0 in a video blog soon.