2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.squeezebox.internal.handler;
15 import java.util.List;
17 import org.openhab.binding.squeezebox.internal.model.Favorite;
20 * @author Markus Wolters - Initial contribution
21 * @author Ben Jones - ?
22 * @author Dan Cunningham - OH2 port
23 * @author Mark Hilbush - Added durationEvent
24 * @author Mark Hilbush - Added event to update favorites list
26 public interface SqueezeBoxPlayerEventListener {
28 void playerAdded(SqueezeBoxPlayer player);
30 void powerChangeEvent(String mac, boolean power);
32 void modeChangeEvent(String mac, String mode);
35 * Reports a new absolute volume for a given player.
40 void absoluteVolumeChangeEvent(String mac, int volume);
43 * Reports a relative volume change for a given player.
48 void relativeVolumeChangeEvent(String mac, int volumeChange);
50 void muteChangeEvent(String mac, boolean mute);
52 void currentPlaylistIndexEvent(String mac, int index);
54 void currentPlayingTimeEvent(String mac, int time);
56 void durationEvent(String mac, int duration);
58 void numberPlaylistTracksEvent(String mac, int track);
60 void currentPlaylistShuffleEvent(String mac, int shuffle);
62 void currentPlaylistRepeatEvent(String mac, int repeat);
64 void titleChangeEvent(String mac, String title);
66 void albumChangeEvent(String mac, String album);
68 void artistChangeEvent(String mac, String artist);
70 void coverArtChangeEvent(String mac, String coverArtUrl);
72 void yearChangeEvent(String mac, String year);
74 void genreChangeEvent(String mac, String genre);
76 void remoteTitleChangeEvent(String mac, String title);
78 void irCodeChangeEvent(String mac, String ircode);
80 void updateFavoritesListEvent(List<Favorite> favorites);
82 void sourceChangeEvent(String mac, String source);
84 void buttonsChangeEvent(String mac, String likeCommand, String unlikeCommand);
86 void connectedStateChangeEvent(String mac, boolean connected);