1 package org.rpi.mpdplayer;
2
3
4
5
6
7 import java.util.Observable;
8 import java.util.Observer;
9
10 import org.apache.log4j.Logger;
11 import org.rpi.player.IPlayerController;
12 import org.rpi.player.events.EventBase;
13 import org.rpi.playlist.CustomTrack;
14
15
16 public class MPDPlayerController extends Observable implements IPlayerController, Observer {
17
18 private static Logger log = Logger.getLogger(MPDPlayerController.class);
19 private MPDPlayer mpdPlayer = null;
20
21 public MPDPlayerController() {
22 mpdPlayer = new MPDPlayer();
23 mpdPlayer.addObserver(this);
24 }
25
26 @Override
27 public void preLoadTrack(CustomTrack track) {
28 mpdPlayer.preLoadTrack(track);
29 }
30
31 @Override
32 public void loaded() {
33
34 }
35
36 @Override
37 public void openFile(CustomTrack track) {
38
39 }
40
41 @Override
42 public void playThis(CustomTrack t, long v, boolean bMute) {
43 mpdPlayer.playTrack(t, v, bMute);
44 }
45
46 @Override
47 public void pause(boolean bPause) {
48 mpdPlayer.pause(bPause);
49 }
50
51 @Override
52 public void resume() {
53 mpdPlayer.resume();
54 }
55
56 @Override
57 public void stop() {
58 mpdPlayer.stop();
59 }
60
61 @Override
62 public void destroy() {
63 mpdPlayer.destroy();
64 }
65
66 @Override
67 public void setMute(boolean mute) {
68 mpdPlayer.setMute(mute);
69 }
70
71 @Override
72 public void setVolume(long volume) {
73 mpdPlayer.setVolume(volume);
74 }
75
76 @Override
77 public void seekAbsolute(long seconds) {
78 mpdPlayer.seekAbsolute(seconds);
79 }
80
81 @Override
82 public boolean isPlaying() {
83 return mpdPlayer.isPlaying();
84 }
85
86 @Override
87 public boolean isActive() {
88 return true;
89 }
90
91 @Override
92 public String getUniqueId() {
93 return mpdPlayer.getUniqueId();
94 }
95
96 @Override
97 public void update(Observable arg0, Object obj) {
98 EventBase e = (EventBase)obj;
99 setChanged();
100 notifyObservers(obj);
101 }
102 }