Yamaha MusicCast™

Travis Hex.pm Documentation Status GitHub license Github Issues

Elixir implementation of Yamaha’s MusicCast™ multiroom audio solution.

Documentation

See the online documentation for more information.

Installation

Add :musiccast to your list of dependencies in mix.exs:

def deps do
  [{:musiccast, "~> 0.1"}]
end

Usage

Start by discovering MusicCast devices on your network:

:ok = MusicCast.discover()

Devices are automatically added to the supervision network, you can list all registered devices as follow:

[{pid, device_id}] = MusicCast.which_devices()

You can control a device using the MusicCast.Network.Entity module:

:ok = MusicCast.Network.Entity.set_volume(pid, 50)
:ok = MusicCast.Network.Entity.set_playback("pause")

You also have the possibility to subscribe to notifications from a specific device:

:ok = MusicCast.subscribe(device_id)