Package org.refcodes.audio
Class AbstractCsvSampleWriter<S extends SoundSample,B extends CsvSampleWriter<S,B>>
- java.lang.Object
-
- org.refcodes.audio.AbstractCsvSampleWriter<S,B>
-
- Type Parameters:
S
- TheSoundSample
(sub-)type on which theSampleWriter
implementation is to operate on.B
- TheCsvSampleWriter
implementing thisAbstractCsvSampleWriter
.
- All Implemented Interfaces:
AutoCloseable
,CsvSampleWriter<S,B>
,SampleWriter<S,B>
,SamplingRateAccessor
,SamplingRateAccessor.SamplingRateBuilder<S>
,SamplingRateAccessor.SamplingRateMutator
,SamplingRateAccessor.SamplingRateProperty
,org.refcodes.io.RowWriter<S>
- Direct Known Subclasses:
CsvMonoSampleWriter
,CsvSoundSampleWriter
public abstract class AbstractCsvSampleWriter<S extends SoundSample,B extends CsvSampleWriter<S,B>> extends Object implements CsvSampleWriter<S,B>
TheAbstractCsvSampleWriter
provides a foundation to write sound samples to a CSV 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
Fields Modifier and Type Field Description protected org.refcodes.tabular.CsvStringRecordWriter
_csvWriter
protected CsvDeltaMode
_deltaMode
protected boolean
_isSamplingRateDirty
-
Constructor Summary
Constructors Modifier Constructor Description AbstractCsvSampleWriter(File aFile)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.AbstractCsvSampleWriter(File aFile, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.AbstractCsvSampleWriter(OutputStream aOutputStream)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.AbstractCsvSampleWriter(OutputStream aOutputStream, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.AbstractCsvSampleWriter(PrintStream aPrintStream)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.AbstractCsvSampleWriter(PrintStream aPrintStream, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.protected
AbstractCsvSampleWriter(org.refcodes.tabular.CsvStringRecordWriter aCsvFriter, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected static String
format(String aDouble)
Hackishly removes trailing zeros if there is no additional value from them unifying the decimal point.protected static double
toDouble(String aDouble)
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.-
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
-
-
-
-
Field Detail
-
_csvWriter
protected org.refcodes.tabular.CsvStringRecordWriter _csvWriter
-
_deltaMode
protected CsvDeltaMode _deltaMode
-
_isSamplingRateDirty
protected boolean _isSamplingRateDirty
-
-
Constructor Detail
-
AbstractCsvSampleWriter
public AbstractCsvSampleWriter(File aFile) throws FileNotFoundException
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aFile
- TheFile
where to write the CSV 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.
-
AbstractCsvSampleWriter
public AbstractCsvSampleWriter(OutputStream aOutputStream)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aOutputStream
- TheOutputStream
where to write the CSV records to.
-
AbstractCsvSampleWriter
public AbstractCsvSampleWriter(PrintStream aPrintStream)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aPrintStream
- ThePrintStream
where to write the CSV records to.
-
AbstractCsvSampleWriter
public AbstractCsvSampleWriter(File aFile, CsvDeltaMode aDeltaMode) throws FileNotFoundException
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aFile
- TheFile
where to write the CSV records to.aDeltaMode
- TheCsvDeltaMode
to use when writing the CSV rows.- 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.
-
AbstractCsvSampleWriter
public AbstractCsvSampleWriter(OutputStream aOutputStream, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aOutputStream
- TheOutputStream
where to write the CSV records to.aDeltaMode
- TheCsvDeltaMode
to use when writing the CSV rows.
-
AbstractCsvSampleWriter
public AbstractCsvSampleWriter(PrintStream aPrintStream, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aPrintStream
- ThePrintStream
where to write the CSV records to.aDeltaMode
- TheCsvDeltaMode
to use when writing the CSV rows.
-
AbstractCsvSampleWriter
protected AbstractCsvSampleWriter(org.refcodes.tabular.CsvStringRecordWriter aCsvFriter, CsvDeltaMode aDeltaMode)
Constructs theAbstractCsvSampleWriter
for writing sound samples to a CSV file or stream.- Parameters:
aCsvFriter
- TheCsvStringRecordWriter
with which to write the CSV records with.aDeltaMode
- TheCsvDeltaMode
to use when writing the CSV rows.
-
-
Method Detail
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceSampleWriter<S extends SoundSample,B extends CsvSampleWriter<S,B>>
- Throws:
IOException
-
toString
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.- Parameters:
aDouble
- The double to be converted to a string.- Returns:
- The formatted double without any trailing zeros.
-
toDouble
protected static double toDouble(String aDouble)
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.
-
-