From 5a541ba5542ae755ec88a8e3fe87bb1c552b119b Mon Sep 17 00:00:00 2001 From: Bartosz Firyn Date: Tue, 29 May 2012 02:25:33 +0200 Subject: [PATCH] Add github deploy option --- .classpath | 5 +- pom.xml | 145 +++++++++++++++++- src/main/assembly/dist.xml | 50 ++++++ src/main/java/com/sarxos/webcam/Webcam.java | 50 +++++- .../java/com/sarxos/webcam/WebcamEvent.java | 10 ++ .../com/sarxos/webcam/WebcamListener.java | 15 ++ .../java/com/sarxos/webcam/WebcamPanel.java | 6 + 7 files changed, 274 insertions(+), 7 deletions(-) create mode 100644 src/main/assembly/dist.xml diff --git a/.classpath b/.classpath index 578be358..e1fefc8b 100644 --- a/.classpath +++ b/.classpath @@ -1,9 +1,10 @@ - + + + - diff --git a/pom.xml b/pom.xml index 04d041d8..e2c25a11 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,10 @@ https://github.com/sarxos/webcam-capture/issues + + github + + sarxos-ftp-repo @@ -39,6 +43,131 @@ + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.apache.maven.plugins + maven-dependency-plugin + [1.0.0,) + + copy-dependencies + + + + + + + + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-source-plugin + 2.1.2 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8.1 + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.4 + + + copy-dependencies + prepare-package + + copy-dependencies + + + ${project.build.directory}/dependencies + false + false + true + + + + + + maven-assembly-plugin + 2.3 + + + src/main/assembly/dist.xml + + + + + make-assembly + package + + single + + + + + + com.github.github + downloads-maven-plugin + 0.5 + + ${project.name} release ${project.version} + true + + ${artifactId}-${version}-dist.zip + + + + + + upload + + deploy + + + + + org.apache.maven.wagon @@ -48,4 +177,18 @@ - \ No newline at end of file + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8.1 + + public + cam,webcam,camera,spycam + + + + + + diff --git a/src/main/assembly/dist.xml b/src/main/assembly/dist.xml new file mode 100644 index 00000000..3abe9767 --- /dev/null +++ b/src/main/assembly/dist.xml @@ -0,0 +1,50 @@ + + + dist + + + zip + + + false + + + + ${project.basedir} + / + + README* + LICENSE* + NOTICE* + + + + ${project.build.directory} + / + + ${artifactId}-${version}.jar + + + + ${project.build.directory}/dependencies + libs + + *.jar + + + + ${project.build.directory}/apidocs + docs + + + ${project.basedir}/src/main/java + src + + + ${project.basedir}/src/example/java + examples + + + + diff --git a/src/main/java/com/sarxos/webcam/Webcam.java b/src/main/java/com/sarxos/webcam/Webcam.java index c9dc925f..08cb0e85 100644 --- a/src/main/java/com/sarxos/webcam/Webcam.java +++ b/src/main/java/com/sarxos/webcam/Webcam.java @@ -36,7 +36,14 @@ */ public class Webcam { + /** + * Control to control format. + */ private final static String FORMAT_CTRL = "javax.media.control.FormatControl"; + + /** + * Control to grab frames. + */ private final static String GRABBING_CTRL = "javax.media.control.FrameGrabbingControl"; /** @@ -94,10 +101,24 @@ public void controllerUpdate(ControllerEvent ce) { } } + /** + * Webcam listeners. + */ private List listeners = new ArrayList(); + /** + * Is webcam open. + */ private volatile boolean open = false; + + /** + * Is player available. + */ private volatile boolean available = false; + + /** + * Is player started. + */ private volatile boolean started = false; private CaptureDeviceInfo device = null; @@ -161,9 +182,9 @@ public synchronized void open() { WebcamEvent we = new WebcamEvent(this); synchronized (listeners) { - Iterator wli = listeners.iterator(); - while (wli.hasNext()) { - WebcamListener l = wli.next(); + Iterator li = listeners.iterator(); + while (li.hasNext()) { + WebcamListener l = li.next(); try { l.webcamOpen(we); } catch (Exception e) { @@ -218,6 +239,9 @@ private Control getControl(String name) { return control; } + /** + * @return Webcam view size (picture size) in pixels. + */ public Dimension getViewSize() { if (!isOpen()) { throw new RuntimeException("Webcam has to be open to get video size"); @@ -326,6 +350,17 @@ public static List getWebcams() { return webcams; } + /** + * @return Default (first) webcam. + */ + public static Webcam getDefault() { + List webcams = getWebcams(); + if (webcams.isEmpty()) { + return null; + } + return webcams.get(0); + } + /** * Get webcam name (actually device name). * @@ -340,16 +375,23 @@ public String toString() { return "webcam:" + getName(); } + /** + * Add webcam listener. + * + * @param l a listener to add + */ public void addWebcamListener(WebcamListener l) { synchronized (listeners) { listeners.add(l); } } + /** + * @return All webcam listeners + */ public WebcamListener[] getWebcamListeners() { synchronized (listeners) { return listeners.toArray(new WebcamListener[listeners.size()]); } } - } diff --git a/src/main/java/com/sarxos/webcam/WebcamEvent.java b/src/main/java/com/sarxos/webcam/WebcamEvent.java index ce1df5ff..86934294 100644 --- a/src/main/java/com/sarxos/webcam/WebcamEvent.java +++ b/src/main/java/com/sarxos/webcam/WebcamEvent.java @@ -3,10 +3,20 @@ import java.util.EventObject; +/** + * Webcam event. + * + * @author Bartosz Firyn (SarXos) + */ public class WebcamEvent extends EventObject { private static final long serialVersionUID = 7701762815832038598L; + /** + * Webcam event. + * + * @param w - webcam object + */ public WebcamEvent(Webcam w) { super(w); } diff --git a/src/main/java/com/sarxos/webcam/WebcamListener.java b/src/main/java/com/sarxos/webcam/WebcamListener.java index 2cf6b0b1..4e4775d3 100644 --- a/src/main/java/com/sarxos/webcam/WebcamListener.java +++ b/src/main/java/com/sarxos/webcam/WebcamListener.java @@ -1,9 +1,24 @@ package com.sarxos.webcam; +/** + * Webcam listener. + * + * @author Bartosz Firyn (SarXos) + */ public interface WebcamListener { + /** + * Webcam has been open. + * + * @param we a webcam event + */ public void webcamOpen(WebcamEvent we); + /** + * Webcam has been closed + * + * @param we a webcam event + */ public void webcamClosed(WebcamEvent we); } diff --git a/src/main/java/com/sarxos/webcam/WebcamPanel.java b/src/main/java/com/sarxos/webcam/WebcamPanel.java index bec47cb0..3453ce35 100644 --- a/src/main/java/com/sarxos/webcam/WebcamPanel.java +++ b/src/main/java/com/sarxos/webcam/WebcamPanel.java @@ -6,6 +6,12 @@ import javax.swing.JPanel; +/** + * Simply implementation of JPanel allowing users to render pictures taken with + * webcam. + * + * @author Bartosz Firyn (SarXos) + */ public class WebcamPanel extends JPanel implements WebcamListener { private static final long serialVersionUID = 5792962512394656227L;