projects
/
sonitus.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c60f628
)
Expose metadata from every controlled component.
author
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Mon, 27 May 2013 07:29:48 +0000
(09:29 +0200)
committer
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Mon, 27 May 2013 20:54:39 +0000
(22:54 +0200)
src/main/java/net/pterodactylus/sonitus/data/Controlled.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
patch
|
blob
|
history
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/Controlled.java
b/src/main/java/net/pterodactylus/sonitus/data/Controlled.java
index
e311681
..
6b4c617
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/Controlled.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/Controlled.java
@@
-34,6
+34,13
@@
public interface Controlled {
public String name();
/**
public String name();
/**
+ * Returns the current metadata of this component.
+ *
+ * @return The current metadata of this component
+ */
+ public Metadata metadata();
+
+ /**
* Returns the controllers offered by this component.
*
* @return The controllers of this component
* Returns the controllers offered by this component.
*
* @return The controllers of this component
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
b/src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
index
f7ab938
..
05253f3
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
@@
-124,6
+124,11
@@
public class AudioSink implements Sink {
}
@Override
}
@Override
+ public Metadata metadata() {
+ return metadata;
+ }
+
+ @Override
public List<Controller<?>> controllers() {
return Arrays.<Controller<?>>asList(volumeFader, muteSwitch);
}
public List<Controller<?>> controllers() {
return Arrays.<Controller<?>>asList(volumeFader, muteSwitch);
}
@@
-155,6
+160,7
@@
public class AudioSink implements Sink {
@Override
public void metadataUpdated(Metadata metadata) {
logger.info(String.format("Now playing %s.", metadata));
@Override
public void metadataUpdated(Metadata metadata) {
logger.info(String.format("Now playing %s.", metadata));
+ this.metadata = metadata;
}
@Override
}
@Override
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
b/src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
index
9bebc6b
..
92dd59a
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
@@
-43,6
+43,9
@@
public class FileSink implements Sink {
private FileOutputStream fileOutputStream;
private FileOutputStream fileOutputStream;
+ /** The current metadata. */
+ private Metadata metadata;
+
/**
* Creates a new file sink that will write to the given path.
*
/**
* Creates a new file sink that will write to the given path.
*
@@
-63,6
+66,11
@@
public class FileSink implements Sink {
}
@Override
}
@Override
+ public Metadata metadata() {
+ return metadata;
+ }
+
+ @Override
public List<Controller<?>> controllers() {
return Collections.emptyList();
}
public List<Controller<?>> controllers() {
return Collections.emptyList();
}
@@
-74,6
+82,7
@@
public class FileSink implements Sink {
@Override
public void open(Metadata metadata) throws IOException {
fileOutputStream = new FileOutputStream(path);
@Override
public void open(Metadata metadata) throws IOException {
fileOutputStream = new FileOutputStream(path);
+ metadataUpdated(metadata);
}
@Override
}
@Override
@@
-87,7
+96,7
@@
public class FileSink implements Sink {
@Override
public void metadataUpdated(Metadata metadata) {
@Override
public void metadataUpdated(Metadata metadata) {
- /* ignore. */
+ this.metadata = metadata;
}
@Override
}
@Override
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
b/src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
index
36413f9
..
5487cc4
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
@@
-78,6
+78,9
@@
public class Icecast2Sink implements Sink {
private OutputStream socketOutputStream;
private OutputStream socketOutputStream;
+ /** The current metadata. */
+ private Metadata metadata;
+
/**
* Creates a new Icecast2 sink.
*
/**
* Creates a new Icecast2 sink.
*
@@
-120,6
+123,11
@@
public class Icecast2Sink implements Sink {
}
@Override
}
@Override
+ public Metadata metadata() {
+ return metadata;
+ }
+
+ @Override
public List<Controller<?>> controllers() {
return Collections.emptyList();
}
public List<Controller<?>> controllers() {
return Collections.emptyList();
}
@@
-162,6
+170,7
@@
public class Icecast2Sink implements Sink {
@Override
public void metadataUpdated(final Metadata metadata) {
@Override
public void metadataUpdated(final Metadata metadata) {
+ this.metadata = metadata;
new Thread(new Runnable() {
@Override
new Thread(new Runnable() {
@Override
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
b/src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
index
750642e
..
9a624e0
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
@@
-144,7
+144,8
@@
public class StreamSource implements Source {
if (!streamMetadata.isPresent()) {
return metadata;
}
if (!streamMetadata.isPresent()) {
return metadata;
}
- return metadata = metadata.title(streamMetadata.get().title());
+ metadata = metadata.title(streamMetadata.get().title());
+ return metadata;
}
@Override
}
@Override