Yamaha MusicCast™
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