client = Rockbox.new()
# Optional: opens the WebSocket so subscribers receive events
{:ok, _pid} = Rockbox.connect(client)
case Rockbox.Playback.current_track(client) do
{:ok, %Rockbox.Track{} = t} -> IO.puts("▶ #{t.title} — #{t.artist}")
{:ok, nil} -> IO.puts("Nothing is playing.")
end
{:ok, results} = Rockbox.Library.search(client, "dark side")
album = List.first(results.albums)
:ok = Rockbox.Playback.play_album(client, album.id, shuffle: true)
# Events arrive as messages
:ok = Rockbox.subscribe(:track_changed)
receive do
{:rockbox, :track_changed, track} ->
IO.puts("Now: #{track.title}")
end
Rockbox.disconnect(client)