Yamaha MusicCast™

Travis Hex.pm Documentation Status GitHub license Github Issues

Cover image

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 MusicCast.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_input pid, "spotify"
:ok = MusicCast.Network.Entity.playback_pause pid
:ok = MusicCast.Network.Entity.set_volume pid, 50

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

:ok = MusicCast.subscribe device_id