Packages

An Elixir wrapper for the music live-coding language SuperCollider. Supex communicates with SuperCollider’s `sclang` tool, letting you generate and control sound directly from Elixir.

Current section

Files

Jump to
supex lib supex sclang sc_server.ex
Raw

lib/supex/sclang/sc_server.ex

defmodule Supex.Sclang.ScServer do
@moduledoc """
Commands for a SC server, like booting or stop playing all sounds.
"""
alias Supex.Sclang
require Logger
@doc since: "0.1.0"
@spec stop_playing() :: <<_::72>>
def stop_playing(), do: "s.freeAll"
@doc since: "0.1.0"
@spec boot() :: <<_::48>>
def boot(), do: "s.boot"
@doc since: "0.1.0"
@spec booted(%Supex.Sclang{}) :: struct()
def booted(%Sclang{} = sclang) do
booted_message()
sclang |> struct!(sc_server_booted: true)
end
defp booted_message() do
Logger.info(
"-------------------- SuperCollider Server booted!!! ----------------------------"
)
end
end