Module org.refcodes.audio
Package org.refcodes.audio
Class AbstractSvgSampleWriter<S extends SoundSample,B extends SampleWriter<S,B>>
java.lang.Object
org.refcodes.audio.AbstractSvgSampleWriter<S,B>
- Type Parameters:
S
- TheSoundSample
(sub-)type on which theSampleWriter
implementation is to operate on.B
- TheSampleWriter
implementing thisAbstractSvgSampleWriter
.
- All Implemented Interfaces:
AutoCloseable
,SampleWriter<S,
,B> SamplingRateAccessor
,SamplingRateAccessor.SamplingRateBuilder<B>
,SamplingRateAccessor.SamplingRateMutator
,SamplingRateAccessor.SamplingRateProperty
,org.refcodes.io.RowWriter<S>
- Direct Known Subclasses:
SvgMonoSampleWriter
public abstract class AbstractSvgSampleWriter<S extends SoundSample,B extends SampleWriter<S,B>>
extends Object
implements SampleWriter<S,B>
The
AbstractSvgSampleWriter
provides a foundation to write sound
samples to a SVG file.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.refcodes.audio.SamplingRateAccessor
SamplingRateAccessor.SamplingRateBuilder<B extends SamplingRateAccessor.SamplingRateBuilder<B>>, SamplingRateAccessor.SamplingRateMutator, SamplingRateAccessor.SamplingRateProperty
-
Field Summary
-
Constructor Summary
ConstructorDescriptionAbstractSvgSampleWriter
(File aFile) Constructs theAbstractSvgSampleWriter
for writing sound samples to a SVG file or stream.AbstractSvgSampleWriter
(OutputStream aOutputStream) Constructs theAbstractSvgSampleWriter
for writing sound samples to a SVG file or stream.AbstractSvgSampleWriter
(PrintStream aPrintStream) Constructs theAbstractSvgSampleWriter
for writing sound samples to a SVG file or stream. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
protected static String
Hackishly removes trailing zeros if there is no additional value from them unifying the decimal point.protected static double
Converts a string to a double by hackishly removing trailing zeros if there is no additional value from them and unifying the decimal point.protected static String
toString
(double aDouble) Converts a double to a string by hackishly removing trailing zeros if there is no additional value from them unifying the decimal point.protected double
toYCoordinate
(double aSampleData, double aFactor) protected void
Writes the SVG file's header, the SVG's tail is written upon invokingclose()
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.refcodes.audio.SampleWriter
writeNext
Methods inherited from interface org.refcodes.audio.SamplingRateAccessor
getSamplingRate
Methods inherited from interface org.refcodes.audio.SamplingRateAccessor.SamplingRateBuilder
withSamplingRate
Methods inherited from interface org.refcodes.audio.SamplingRateAccessor.SamplingRateMutator
setSamplingRate
Methods inherited from interface org.refcodes.audio.SamplingRateAccessor.SamplingRateProperty
letSamplingRate
-
Field Details
-
_printStream
-
-
Constructor Details
-
AbstractSvgSampleWriter
Constructs theAbstractSvgSampleWriter
for writing sound samples to a SVG file or stream.- Parameters:
aFile
- TheFile
where to write the SVG records to.- Throws:
FileNotFoundException
- If the given file object does not denote an existing, writable regular file and a new regular file of that name cannot be created, or if some other error occurs while opening or creating the file.
-
AbstractSvgSampleWriter
Constructs theAbstractSvgSampleWriter
for writing sound samples to a SVG file or stream.- Parameters:
aOutputStream
- TheOutputStream
where to write the SVG records to.
-
AbstractSvgSampleWriter
Constructs theAbstractSvgSampleWriter
for writing sound samples to a SVG file or stream.- Parameters:
aPrintStream
- ThePrintStream
where to write the SVG records to.
-
-
Method Details
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceSampleWriter<S extends SoundSample,
B extends SampleWriter<S, B>> - Throws:
IOException
-
toYCoordinate
protected double toYCoordinate(double aSampleData, double aFactor) -
writeSvgHeader
protected void writeSvgHeader()Writes the SVG file's header, the SVG's tail is written upon invokingclose()
. -
toString
Converts a double to a string by hackishly removing trailing zeros if there is no additional value from them unifying the decimal point.- Parameters:
aDouble
- The double to be converted to a string.- Returns:
- The formatted double without any trailing zeros.
-
toDouble
Converts a string to a double by hackishly removing trailing zeros if there is no additional value from them and unifying the decimal point.- Parameters:
aDouble
- The double from which to remove trailing zeros.- Returns:
- The formatted double without any trailing zeros.
-
format
Hackishly removes trailing zeros if there is no additional value from them unifying the decimal point.- Parameters:
aDouble
- The double from which to remove trailing zeros.- Returns:
- The formatted double without any trailing zeros.
-