diff --git a/java/.classpath b/java/.classpath
index 6ff526b..e387117 100644
--- a/java/.classpath
+++ b/java/.classpath
@@ -10,5 +10,6 @@
+
diff --git a/java/cfg/commons-logging.properties b/java/cfg/commons-logging.properties
new file mode 100644
index 0000000..b21aadc
--- /dev/null
+++ b/java/cfg/commons-logging.properties
@@ -0,0 +1 @@
+#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog
\ No newline at end of file
diff --git a/java/cfg/jlgui.ini b/java/cfg/jlgui.ini
new file mode 100644
index 0000000..a8081f1
--- /dev/null
+++ b/java/cfg/jlgui.ini
@@ -0,0 +1,29 @@
+allowed_extensions=m3u,pls,wsz,snd,aifc,aif,wav,au,mp1,mp2,mp3,ogg,spx,flac,ape,mac
+audio_device=
+equalizer_auto=false
+equalizer_enabled=false
+equalizer_on=false
+last_dir=C:\Users\Rik\Downloads\Skins\
+last_equalizer=50,50,92,100,10,40,0,100,50,50,50
+last_playlist=
+last_skin=C:\Users\Rik\Downloads\Skins\GSM_Winamp_FrostedFlames.wsz
+last_skin_dir=
+last_url=
+origine_x=636
+origine_y=282
+playlist_enabled=false
+playlist_impl=javazoom.jlgui.player.amp.playlist.BasePlaylist
+proxy_login=
+proxy_password=
+proxy_port=-1
+proxy_server=
+repeat_enabled=false
+screen_limit=false
+shuffle_enabled=false
+taginfo_ape_impl=javazoom.jlgui.player.amp.tag.APEInfo
+taginfo_flac_impl=javazoom.jlgui.player.amp.tag.FlacInfo
+taginfo_mpeg_impl=javazoom.jlgui.player.amp.tag.MpegInfo
+taginfo_oggvorbis_impl=javazoom.jlgui.player.amp.tag.OggVorbisInfo
+taginfo_policy=file
+visual_mode=
+volume_value=-1
diff --git a/java/cfg/log4j.properties b/java/cfg/log4j.properties
new file mode 100644
index 0000000..0cce0b6
--- /dev/null
+++ b/java/cfg/log4j.properties
@@ -0,0 +1,5 @@
+log4j.rootLogger=TRACE, CA
+log4j.appender.CA=org.apache.log4j.ConsoleAppender
+log4j.appender.CA.layout=org.apache.log4j.PatternLayout
+log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+log4j.logger.org.hibernate=TRACE
\ No newline at end of file
diff --git a/java/src/pm/Main.java b/java/src/pm/Main.java
index 9367b2a..e806e37 100644
--- a/java/src/pm/Main.java
+++ b/java/src/pm/Main.java
@@ -2,6 +2,9 @@ package pm;
import java.util.ArrayList;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import pm.application.ApplicationCycle;
import pm.application.example.ExampleApplication;
import pm.application.itunes.iTunesApplication;
@@ -24,6 +27,8 @@ import pm.exception.device.DeviceInitialiseException;
import pm.value.Action;
public class Main extends EventListener {
+ protected Log log = LogFactory.getLog(Main.class);
+
//protected String[] deviceClassArray;
protected ApplicationCycle applicationCycle;
protected ArrayList deviceList;
@@ -53,6 +58,7 @@ public class Main extends EventListener {
try {
device.initialise();
device.start();
+ log.info("Device started: " + device);
} catch (DeviceInitialiseException e) {
remove(device);
}
diff --git a/java/src/pm/event/EventListener.java b/java/src/pm/event/EventListener.java
index 5553bd0..94db51c 100644
--- a/java/src/pm/event/EventListener.java
+++ b/java/src/pm/event/EventListener.java
@@ -3,32 +3,43 @@ package pm.event;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
+import pm.Event;
import pm.Listener;
import pm.event.task.Continuous;
import pm.value.Action;
public abstract class EventListener extends Listener implements Runnable {
- protected Queue taskQueue;
+ protected Queue eventQueue;
public EventListener() {
- taskQueue = new ConcurrentLinkedQueue();
+ eventQueue = new ConcurrentLinkedQueue();
}
public final void run() {
while (run) {
- if (taskQueue.isEmpty()) {
+ if (eventQueue.isEmpty()) {
sleep();
} else {
- task(taskQueue.poll());
+ event(eventQueue.poll());
}
}
}
- public void add(Task task) {
- taskQueue.add(task);
+ public void add(Event event) {
+ eventQueue.add(event);
}
- protected void task(Task task) {
+ protected void event(Event event) {
+ if (event instanceof Feedback) {
+ event((Feedback) event);
+ } else if (event instanceof Task) {
+ event((Task) event);
+ }
+ }
+
+ protected void event(Feedback feedback) {}
+
+ protected void event(Task task) {
Action action = task.getAction();
if (task instanceof Continuous) {
Continuous continuous = (Continuous) task;
diff --git a/java/src/pm/event/EventManager.java b/java/src/pm/event/EventManager.java
index 4c57799..beffdc3 100644
--- a/java/src/pm/event/EventManager.java
+++ b/java/src/pm/event/EventManager.java
@@ -22,6 +22,12 @@ public class EventManager {
taskListenerList.add(eventListener);
}
+ public static void add(Feedback feedback) {
+ for (EventListener eventListener : taskListenerList) {
+ eventListener.add(feedback);
+ }
+ }
+
public static void add(EventListener self, Task task) {
if (task instanceof Stopper) {
Stopper stopper = (Stopper) task;
diff --git a/java/src/pm/todo/TODO b/java/src/pm/todo/TODO
index c880ce5..1813c72 100644
--- a/java/src/pm/todo/TODO
+++ b/java/src/pm/todo/TODO
@@ -1,7 +1,5 @@
TODO
------------
-log bijhouden
-
mappings lezen vanuit config bestand
exeptions en foutmeldingen nakijken/afhandelen/loggen
@@ -39,6 +37,10 @@ feedback systeem implementeren, rumble voor zowel wiimote als rumblepad
algemene listener parent class / interface maken? die zou standaard thread functies implementeren / vereisen: start, run, stop
+hier zijn al enkele aanpassingen aan gemaakt, de main stuurt nu direct de TaskManager aan in plaats van dat het vannuit een Device of Application gebeurd
+log bijhouden
++werkt via apache commons logging, nu nog boodschappen toevoegen!
+
+
DONE
-------------
lantextdevice generiek maken met normale textdevice
\ No newline at end of file