projects
/
sonitus.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f554e51
)
Create all controlled components with an event bus.
author
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Mon, 27 May 2013 07:39:51 +0000
(09:39 +0200)
committer
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Mon, 27 May 2013 20:54:39 +0000
(22:54 +0200)
18 files changed:
src/main/java/net/pterodactylus/sonitus/data/filter/AudioProcessingFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Decoder.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/FlacDecoder.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Decoder.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Encoder.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/OggVorbisDecoder.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/SoxResampleFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/StereoSeparationFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/TimeCounterFilter.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/filter/AudioProcessingFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/AudioProcessingFilter.java
index
e87935b
..
b584395
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/AudioProcessingFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/AudioProcessingFilter.java
@@
-23,6
+23,8
@@
import java.io.OutputStream;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.io.ProcessingOutputStream;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.io.ProcessingOutputStream;
+import com.google.common.eventbus.EventBus;
+
/**
* {@link Filter} implementation that can process audio samples internally.
*
/**
* {@link Filter} implementation that can process audio samples internally.
*
@@
-33,11
+35,13
@@
public abstract class AudioProcessingFilter extends DummyFilter {
/**
* Creates a new audio processing filter with the given name.
*
/**
* Creates a new audio processing filter with the given name.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
* @param name
* The name of the filter
*/
- protected AudioProcessingFilter(String name) {
- super(name);
+ protected AudioProcessingFilter(
EventBus eventBus,
String name) {
+ super(
eventBus,
name);
}
//
}
//
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java
index
ce02254
..
4e19683
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/DummyFilter.java
@@
-31,6
+31,7
@@
import net.pterodactylus.sonitus.data.Controller;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
+import com.google.common.eventbus.EventBus;
import com.google.common.io.Closeables;
/**
import com.google.common.io.Closeables;
/**
@@
-43,6
+44,9
@@
public class DummyFilter implements Filter {
/** The name of this filter. */
private final String name;
/** The name of this filter. */
private final String name;
+ /** The event bus. */
+ private final EventBus eventBus;
+
/** The input stream from which to read. */
private InputStream inputStream;
/** The input stream from which to read. */
private InputStream inputStream;
@@
-55,10
+59,13
@@
public class DummyFilter implements Filter {
/**
* Creates a new dummy filter with the given name.
*
/**
* Creates a new dummy filter with the given name.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
* @param name
* The name of the filter
*/
- public DummyFilter(String name) {
+ public DummyFilter(EventBus eventBus, String name) {
+ this.eventBus = eventBus;
this.name = name;
}
this.name = name;
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
index
990f976
..
a6e2966
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
@@
-27,6
+27,7
@@
import net.pterodactylus.sonitus.io.InputStreamDrainer;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
+import com.google.common.eventbus.EventBus;
/**
* {@link net.pterodactylus.sonitus.data.Filter} implementation that runs its
/**
* {@link net.pterodactylus.sonitus.data.Filter} implementation that runs its
@@
-45,11
+46,13
@@
public abstract class ExternalFilter extends DummyFilter {
/**
* Creates a new external filter with the given name.
*
/**
* Creates a new external filter with the given name.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
* @param name
* The name of the filter
*/
- protected ExternalFilter(String name) {
- super(name);
+ protected ExternalFilter(
EventBus eventBus,
String name) {
+ super(
eventBus,
name);
}
//
}
//
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Decoder.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Decoder.java
index
f81d532
..
d97708d
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Decoder.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Decoder.java
@@
-24,6
+24,8
@@
import java.io.IOException;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Metadata;
+import com.google.common.eventbus.EventBus;
+
/**
* Basic {@link net.pterodactylus.sonitus.data.filter.ExternalFilter}
* implementation that verifies that the connected source is MP3-encoded and
/**
* Basic {@link net.pterodactylus.sonitus.data.filter.ExternalFilter}
* implementation that verifies that the connected source is MP3-encoded and
@@
-36,11
+38,13
@@
public abstract class ExternalMp3Decoder extends ExternalFilter {
/**
* Creates a new external MP3 decoder.
*
/**
* Creates a new external MP3 decoder.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
* @param name
* The name of the filter
*/
- protected ExternalMp3Decoder(String name) {
- super(name);
+ protected ExternalMp3Decoder(
EventBus eventBus,
String name) {
+ super(
eventBus,
name);
}
@Override
}
@Override
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java
index
21654af
..
85810c9
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalMp3Encoder.java
@@
-24,6
+24,8
@@
import java.io.IOException;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Metadata;
+import com.google.common.eventbus.EventBus;
+
/**
* Basic {@link net.pterodactylus.sonitus.data.filter.ExternalFilter}
* implementation that verifies that the connected source is PCM-encoded and
/**
* Basic {@link net.pterodactylus.sonitus.data.filter.ExternalFilter}
* implementation that verifies that the connected source is PCM-encoded and
@@
-36,11
+38,13
@@
public abstract class ExternalMp3Encoder extends ExternalFilter {
/**
* Creates a new external MP3 encoder.
*
/**
* Creates a new external MP3 encoder.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
* @param name
* The name of the filter
*/
- protected ExternalMp3Encoder(String name) {
- super(name);
+ protected ExternalMp3Encoder(
EventBus eventBus,
String name) {
+ super(
eventBus,
name);
}
@Override
}
@Override
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/FlacDecoder.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/FlacDecoder.java
index
e8447ef
..
fb644d3
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/FlacDecoder.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/FlacDecoder.java
@@
-20,6
+20,7
@@
package net.pterodactylus.sonitus.data.filter;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
+import com.google.common.eventbus.EventBus;
/**
* Decoder {@link net.pterodactylus.sonitus.data.Filter} for FLAC files.
/**
* Decoder {@link net.pterodactylus.sonitus.data.Filter} for FLAC files.
@@
-37,11
+38,13
@@
public class FlacDecoder extends ExternalFilter {
/**
* Creates a new FLAC decoder.
*
/**
* Creates a new FLAC decoder.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
*/
* @param binary
* The location of the binary
*/
- public FlacDecoder(String binary) {
- super("FLAC Decoder");
+ public FlacDecoder(
EventBus eventBus,
String binary) {
+ super(
eventBus,
"FLAC Decoder");
this.binary = binary;
}
this.binary = binary;
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Decoder.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Decoder.java
index
7493b3e
..
17e0973
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Decoder.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Decoder.java
@@
-20,6
+20,7
@@
package net.pterodactylus.sonitus.data.filter;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
+import com.google.common.eventbus.EventBus;
/**
* {@link ExternalMp3Decoder} implementation that uses LAME to decode an MP3.
/**
* {@link ExternalMp3Decoder} implementation that uses LAME to decode an MP3.
@@
-37,11
+38,13
@@
public class LameMp3Decoder extends ExternalMp3Decoder {
/**
* Creates a new LAME MP3 decoder.
*
/**
* Creates a new LAME MP3 decoder.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
*/
* @param binary
* The location of the binary
*/
- public LameMp3Decoder(String binary) {
- super("LAME Decoder");
+ public LameMp3Decoder(
EventBus eventBus,
String binary) {
+ super(
eventBus,
"LAME Decoder");
this.binary = binary;
}
this.binary = binary;
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Encoder.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Encoder.java
index
d425fe2
..
77df8aa
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Encoder.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/LameMp3Encoder.java
@@
-23,6
+23,7
@@
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
+import com.google.common.eventbus.EventBus;
/**
* {@link ExternalMp3Encoder} implementation that uses LAME to encode MP3s.
/**
* {@link ExternalMp3Encoder} implementation that uses LAME to encode MP3s.
@@
-66,30
+67,36
@@
public class LameMp3Encoder extends ExternalMp3Encoder {
/**
* Creates a new LAME MP3 encoder.
*
/**
* Creates a new LAME MP3 encoder.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
* @param preset
* The preset to use
*/
* @param binary
* The location of the binary
* @param preset
* The preset to use
*/
- public LameMp3Encoder(String binary, Preset preset) {
- this(binary, preset, -1);
+ public LameMp3Encoder(
EventBus eventBus,
String binary, Preset preset) {
+ this(
eventBus,
binary, preset, -1);
}
/**
* Creates a new LAME MP3 encoder.
*
}
/**
* Creates a new LAME MP3 encoder.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
* @param bitrate
* The bitrate to encode to (in kbps)
*/
* @param binary
* The location of the binary
* @param bitrate
* The bitrate to encode to (in kbps)
*/
- public LameMp3Encoder(String binary, int bitrate) {
- this(binary, null, bitrate);
+ public LameMp3Encoder(
EventBus eventBus,
String binary, int bitrate) {
+ this(
eventBus,
binary, null, bitrate);
}
/**
* Creates a new LAME MP3 encoder.
*
}
/**
* Creates a new LAME MP3 encoder.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
* @param preset
* @param binary
* The location of the binary
* @param preset
@@
-97,8
+104,8
@@
public class LameMp3Encoder extends ExternalMp3Encoder {
* @param bitrate
* The bitrate to encode to (in kbps)
*/
* @param bitrate
* The bitrate to encode to (in kbps)
*/
- private LameMp3Encoder(String binary, Preset preset, int bitrate) {
- super("LAME Encoder");
+ private LameMp3Encoder(
EventBus eventBus,
String binary, Preset preset, int bitrate) {
+ super(
eventBus,
"LAME Encoder");
this.binary = binary;
this.preset = Optional.fromNullable(preset);
this.bitrate = (bitrate < 0) ? Optional.<Integer>absent() : Optional.<Integer>of(bitrate);
this.binary = binary;
this.preset = Optional.fromNullable(preset);
this.bitrate = (bitrate < 0) ? Optional.<Integer>absent() : Optional.<Integer>of(bitrate);
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/OggVorbisDecoder.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/OggVorbisDecoder.java
index
b142fdd
..
d98abe1
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/OggVorbisDecoder.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/OggVorbisDecoder.java
@@
-25,6
+25,7
@@
import java.io.IOException;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
+import com.google.common.eventbus.EventBus;
/**
* Ogg Vorbis decoder that uses {@code oggdec} (from the {@code vorbis-tools}
/**
* Ogg Vorbis decoder that uses {@code oggdec} (from the {@code vorbis-tools}
@@
-43,11
+44,13
@@
public class OggVorbisDecoder extends ExternalFilter {
/**
* Creates a new Ogg Vorbis decoder.
*
/**
* Creates a new Ogg Vorbis decoder.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
*/
* @param binary
* The location of the binary
*/
- public OggVorbisDecoder(String binary) {
- super("Ogg Vorbis Decoder");
+ public OggVorbisDecoder(
EventBus eventBus,
String binary) {
+ super(
eventBus,
"Ogg Vorbis Decoder");
this.binary = binary;
}
this.binary = binary;
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java
index
173073e
..
4edc661
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/PredicateFilter.java
@@
-26,6
+26,7
@@
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.base.Predicate;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.base.Predicate;
+import com.google.common.eventbus.EventBus;
/**
* {@link Filter} implementation that uses a {@link Predicate} to determine
/**
* {@link Filter} implementation that uses a {@link Predicate} to determine
@@
-47,13
+48,15
@@
public class PredicateFilter extends DummyFilter {
/**
* Creates a new predicate filter.
*
/**
* Creates a new predicate filter.
*
+ * @param eventBus
+ * The event bus
* @param metadataPredicate
* The predicate to evaluate every time the metadata changes
* @param filter
* The filter to use if the predicate matches the metadata
*/
* @param metadataPredicate
* The predicate to evaluate every time the metadata changes
* @param filter
* The filter to use if the predicate matches the metadata
*/
- public PredicateFilter(Predicate<Metadata> metadataPredicate, Filter filter) {
- super(String.format("%s (maybe)", filter.name()));
+ public PredicateFilter(
EventBus eventBus,
Predicate<Metadata> metadataPredicate, Filter filter) {
+ super(
eventBus,
String.format("%s (maybe)", filter.name()));
this.metadataPredicate = metadataPredicate;
this.filter = filter;
}
this.metadataPredicate = metadataPredicate;
this.filter = filter;
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
index
fc89a50
..
d67604b
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
@@
-22,6
+22,8
@@
import java.util.logging.Logger;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Metadata;
+import com.google.common.eventbus.EventBus;
+
/**
* Rate limiting filter that only passes a specified amount of data per second
* from its {@link net.pterodactylus.sonitus.data.Source} to its {@link
/**
* Rate limiting filter that only passes a specified amount of data per second
* from its {@link net.pterodactylus.sonitus.data.Source} to its {@link
@@
-46,18
+48,22
@@
public class RateLimitingFilter extends DummyFilter {
/**
* Creates a new rate limiting filter.
*
/**
* Creates a new rate limiting filter.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
* @param rate
* The limiting rate (in bytes/second)
*/
* @param name
* The name of the filter
* @param rate
* The limiting rate (in bytes/second)
*/
- public RateLimitingFilter(String name, int rate) {
- this(name, rate, 0);
+ public RateLimitingFilter(
EventBus eventBus,
String name, int rate) {
+ this(
eventBus,
name, rate, 0);
}
/**
* Creates a new rate limiting filter.
*
}
/**
* Creates a new rate limiting filter.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
* @param rate
* @param name
* The name of the filter
* @param rate
@@
-66,8
+72,8
@@
public class RateLimitingFilter extends DummyFilter {
* The amount of time at the start of the filtering during which no delay
* will occur (in milliseconds)
*/
* The amount of time at the start of the filtering during which no delay
* will occur (in milliseconds)
*/
- public RateLimitingFilter(String name, int rate, long fastStartTime) {
- super(name);
+ public RateLimitingFilter(
EventBus eventBus,
String name, int rate, long fastStartTime) {
+ super(
eventBus,
name);
this.rate = rate;
this.counter = (long) (-rate * (fastStartTime / 1000.0));
}
this.rate = rate;
this.counter = (long) (-rate * (fastStartTime / 1000.0));
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/SoxResampleFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/SoxResampleFilter.java
index
f562574
..
ecbe1cb
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/SoxResampleFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/SoxResampleFilter.java
@@
-25,6
+25,7
@@
import java.io.IOException;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
import net.pterodactylus.sonitus.data.Metadata;
import com.google.common.collect.ImmutableList;
+import com.google.common.eventbus.EventBus;
/**
* {@link net.pterodactylus.sonitus.data.Filter} implementation that uses {@code
/**
* {@link net.pterodactylus.sonitus.data.Filter} implementation that uses {@code
@@
-43,13
+44,15
@@
public class SoxResampleFilter extends ExternalFilter {
/**
* Creates a new resample filter.
*
/**
* Creates a new resample filter.
*
+ * @param eventBus
+ * The event bus
* @param binary
* The location of the binary
* @param rate
* The new sampling rate
*/
* @param binary
* The location of the binary
* @param rate
* The new sampling rate
*/
- public SoxResampleFilter(String binary, int rate) {
- super(String.format("Resample to %s kHz", rate / 1000.0));
+ public SoxResampleFilter(
EventBus eventBus,
String binary, int rate) {
+ super(
eventBus,
String.format("Resample to %s kHz", rate / 1000.0));
this.binary = binary;
this.rate = rate;
}
this.binary = binary;
this.rate = rate;
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/StereoSeparationFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/StereoSeparationFilter.java
index
3993e11
..
def3f3d
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/StereoSeparationFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/StereoSeparationFilter.java
@@
-24,6
+24,8
@@
import net.pterodactylus.sonitus.data.Controller;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.controller.Knob;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.controller.Knob;
+import com.google.common.eventbus.EventBus;
+
/**
* {@link Filter} implementation that can reduce the stereo width of a signal,
* or even reverse the channels.
/**
* {@link Filter} implementation that can reduce the stereo width of a signal,
* or even reverse the channels.
@@
-35,9
+37,14
@@
public class StereoSeparationFilter extends AudioProcessingFilter {
/** The separation knob. */
private final Knob separationKnob;
/** The separation knob. */
private final Knob separationKnob;
- /** Creates a new stereo separation filter. */
- public StereoSeparationFilter() {
- super("Stereo Separation");
+ /**
+ * Creates a new stereo separation filter.
+ *
+ * @param eventBus
+ * The event bus
+ */
+ public StereoSeparationFilter(EventBus eventBus) {
+ super(eventBus, "Stereo Separation");
separationKnob = new Knob("Separation", 1.0);
}
separationKnob = new Knob("Separation", 1.0);
}
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/TimeCounterFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/TimeCounterFilter.java
index
a528200
..
1864b1c
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/TimeCounterFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/TimeCounterFilter.java
@@
-23,6
+23,8
@@
import java.util.concurrent.atomic.AtomicLong;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Metadata;
+import com.google.common.eventbus.EventBus;
+
/**
* {@link Filter} implementation that uses the number of bytes that have been
* {@link #process(byte[]) processed} together with the {@link Metadata} to
/**
* {@link Filter} implementation that uses the number of bytes that have been
* {@link #process(byte[]) processed} together with the {@link Metadata} to
@@
-42,24
+44,28
@@
public class TimeCounterFilter extends DummyFilter {
* Creates a new time counter filter that automatically resets the counter when
* the metadata is {@link #metadataUpdated(Metadata) updated}.
*
* Creates a new time counter filter that automatically resets the counter when
* the metadata is {@link #metadataUpdated(Metadata) updated}.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
*/
* @param name
* The name of the filter
*/
- public TimeCounterFilter(String name) {
- this(name, true);
+ public TimeCounterFilter(
EventBus eventBus,
String name) {
+ this(
eventBus,
name, true);
}
/**
* Creates a new time counter filter.
*
}
/**
* Creates a new time counter filter.
*
+ * @param eventBus
+ * The event bus
* @param name
* The name of the filter
* @param resetOnMetadataUpdate
* {@code true} if the counter should automatically be reset if the metadata
* is updated, {@code false} otherwise
*/
* @param name
* The name of the filter
* @param resetOnMetadataUpdate
* {@code true} if the counter should automatically be reset if the metadata
* is updated, {@code false} otherwise
*/
- public TimeCounterFilter(String name, boolean resetOnMetadataUpdate) {
- super(name);
+ public TimeCounterFilter(
EventBus eventBus,
String name, boolean resetOnMetadataUpdate) {
+ super(
eventBus,
name);
this.resetOnMetadataUpdate = resetOnMetadataUpdate;
}
this.resetOnMetadataUpdate = resetOnMetadataUpdate;
}
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
05253f3
..
a0a4c6a
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/sink/AudioSink.java
@@
-39,6
+39,7
@@
import net.pterodactylus.sonitus.data.controller.Switch;
import net.pterodactylus.sonitus.io.IntegralWriteOutputStream;
import com.google.common.base.Preconditions;
import net.pterodactylus.sonitus.io.IntegralWriteOutputStream;
import com.google.common.base.Preconditions;
+import com.google.common.eventbus.EventBus;
/**
* {@link Sink} implementation that uses the JDK’s {@link AudioSystem} to play
/**
* {@link Sink} implementation that uses the JDK’s {@link AudioSystem} to play
@@
-51,6
+52,9
@@
public class AudioSink implements Sink {
/** The logger. */
private static final Logger logger = Logger.getLogger(AudioSink.class.getName());
/** The logger. */
private static final Logger logger = Logger.getLogger(AudioSink.class.getName());
+ /** The event bus. */
+ private final EventBus eventBus;
+
/** The volume fader. */
private final Fader volumeFader;
/** The volume fader. */
private final Fader volumeFader;
@@
-83,8
+87,14
@@
public class AudioSink implements Sink {
}
}, 1024);
}
}, 1024);
- /** Creates a new audio sink. */
- public AudioSink() {
+ /**
+ * Creates a new audio sink.
+ *
+ * @param eventBus
+ * The event bus
+ */
+ public AudioSink(EventBus eventBus) {
+ this.eventBus = eventBus;
volumeFader = new Fader("Volume") {
@Override
volumeFader = new Fader("Volume") {
@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
92dd59a
..
769ac65
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/sink/FileSink.java
@@
-27,6
+27,8
@@
import net.pterodactylus.sonitus.data.Controller;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Sink;
import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Sink;
+import com.google.common.eventbus.EventBus;
+
/**
* {@link net.pterodactylus.sonitus.data.Sink} that writes all received data
* into a file.
/**
* {@link net.pterodactylus.sonitus.data.Sink} that writes all received data
* into a file.
@@
-38,6
+40,9
@@
public class FileSink implements Sink {
/** The logger. */
private static final Logger logger = Logger.getLogger(FileSink.class.getName());
/** The logger. */
private static final Logger logger = Logger.getLogger(FileSink.class.getName());
+ /** The event bus. */
+ private final EventBus eventBus;
+
/** The path of the file to write to. */
private final String path;
/** The path of the file to write to. */
private final String path;
@@
-49,10
+54,13
@@
public class FileSink implements Sink {
/**
* Creates a new file sink that will write to the given path.
*
/**
* Creates a new file sink that will write to the given path.
*
+ * @param eventBus
+ * The event bus
* @param path
* The path of the file to write to
*/
* @param path
* The path of the file to write to
*/
- public FileSink(String path) {
+ public FileSink(EventBus eventBus, String path) {
+ this.eventBus = eventBus;
this.path = path;
}
this.path = path;
}
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
5487cc4
..
4d492fd
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/sink/Icecast2Sink.java
@@
-38,6
+38,7
@@
import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.FluentIterable;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
import com.google.common.collect.FluentIterable;
+import com.google.common.eventbus.EventBus;
import com.google.common.io.BaseEncoding;
import com.google.common.io.Closeables;
import com.google.common.io.BaseEncoding;
import com.google.common.io.Closeables;
@@
-52,6
+53,9
@@
public class Icecast2Sink implements Sink {
/** The logger. */
private static final Logger logger = Logger.getLogger(Icecast2Sink.class.getName());
/** The logger. */
private static final Logger logger = Logger.getLogger(Icecast2Sink.class.getName());
+ /** The event bus. */
+ private final EventBus eventBus;
+
/** The server name. */
private final String server;
/** The server name. */
private final String server;
@@
-84,6
+88,8
@@
public class Icecast2Sink implements Sink {
/**
* Creates a new Icecast2 sink.
*
/**
* Creates a new Icecast2 sink.
*
+ * @param eventBus
+ * The event bus
* @param server
* The hostname of the server
* @param port
* @param server
* The hostname of the server
* @param port
@@
-102,7
+108,8
@@
public class Icecast2Sink implements Sink {
* {@code true} to publish the server in a public directory, {@code false} to
* not publish it
*/
* {@code true} to publish the server in a public directory, {@code false} to
* not publish it
*/
- public Icecast2Sink(String server, int port, String password, String mountPoint, String serverName, String serverDescription, String genre, boolean publishServer) {
+ public Icecast2Sink(EventBus eventBus, String server, int port, String password, String mountPoint, String serverName, String serverDescription, String genre, boolean publishServer) {
+ this.eventBus = eventBus;
this.server = server;
this.port = port;
this.password = password;
this.server = server;
this.port = port;
this.password = password;
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
9a624e0
..
a116d80
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/source/StreamSource.java
@@
-35,6
+35,7
@@
import net.pterodactylus.sonitus.io.MetadataStream;
import com.google.common.base.Optional;
import com.google.common.collect.Maps;
import com.google.common.base.Optional;
import com.google.common.collect.Maps;
+import com.google.common.eventbus.EventBus;
import com.google.common.primitives.Ints;
/**
import com.google.common.primitives.Ints;
/**
@@
-47,6
+48,9
@@
import com.google.common.primitives.Ints;
*/
public class StreamSource implements Source {
*/
public class StreamSource implements Source {
+ /** The event bus. */
+ private final EventBus eventBus;
+
/** The URL of the stream. */
private final String streamUrl;
/** The URL of the stream. */
private final String streamUrl;
@@
-64,12
+68,15
@@
public class StreamSource implements Source {
* the response header for vital information (sampling frequency, number of
* channels, etc.).
*
* the response header for vital information (sampling frequency, number of
* channels, etc.).
*
+ * @param eventBus
+ * The event bus
* @param streamUrl
* The URL of the stream
* @throws IOException
* if an I/O error occurs
*/
* @param streamUrl
* The URL of the stream
* @throws IOException
* if an I/O error occurs
*/
- public StreamSource(String streamUrl) throws IOException {
+ public StreamSource(EventBus eventBus, String streamUrl) throws IOException {
+ this.eventBus = eventBus;
this.streamUrl = streamUrl;
URL url = new URL(streamUrl);
this.streamUrl = streamUrl;
URL url = new URL(streamUrl);