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.
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.
java
on Mac and Linux, and java.exe
on Windows (despite the name, it can run different JDK languages not just Java). Basically the start scripts invoke something like java -cp lib/Mellite.jar:lib/OtherLibrary.jar de.sciss.mellite.Mellite
where cp
is the class path, i.e. the list of bundled libraries in Java byte code format.