]> git.basschouten.com Git - openhab-addons.git/blob
50735f6b920a4fad33b7ef1acaf0252357a9e5e3
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.squeezebox.internal.handler;
14
15 import java.util.List;
16
17 import org.openhab.binding.squeezebox.internal.model.Favorite;
18
19 /**
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
25  */
26 public interface SqueezeBoxPlayerEventListener {
27
28     void playerAdded(SqueezeBoxPlayer player);
29
30     void powerChangeEvent(String mac, boolean power);
31
32     void modeChangeEvent(String mac, String mode);
33
34     /**
35      * Reports a new absolute volume for a given player.
36      *
37      * @param mac
38      * @param volume
39      */
40     void absoluteVolumeChangeEvent(String mac, int volume);
41
42     /**
43      * Reports a relative volume change for a given player.
44      *
45      * @param mac
46      * @param volumeChange
47      */
48     void relativeVolumeChangeEvent(String mac, int volumeChange);
49
50     void muteChangeEvent(String mac, boolean mute);
51
52     void currentPlaylistIndexEvent(String mac, int index);
53
54     void currentPlayingTimeEvent(String mac, int time);
55
56     void durationEvent(String mac, int duration);
57
58     void numberPlaylistTracksEvent(String mac, int track);
59
60     void currentPlaylistShuffleEvent(String mac, int shuffle);
61
62     void currentPlaylistRepeatEvent(String mac, int repeat);
63
64     void titleChangeEvent(String mac, String title);
65
66     void albumChangeEvent(String mac, String album);
67
68     void artistChangeEvent(String mac, String artist);
69
70     void coverArtChangeEvent(String mac, String coverArtUrl);
71
72     void yearChangeEvent(String mac, String year);
73
74     void genreChangeEvent(String mac, String genre);
75
76     void remoteTitleChangeEvent(String mac, String title);
77
78     void irCodeChangeEvent(String mac, String ircode);
79
80     void updateFavoritesListEvent(List<Favorite> favorites);
81
82     void sourceChangeEvent(String mac, String source);
83
84     void buttonsChangeEvent(String mac, String likeCommand, String unlikeCommand);
85
86     void connectedStateChangeEvent(String mac, boolean connected);
87 }