Class AbstractSvgSampleWriter<S extends SoundSample,B extends SampleWriter<S,B>>

java.lang.Object
org.refcodes.audio.AbstractSvgSampleWriter<S,B>
Type Parameters:
S - The SoundSample (sub-)type on which the SampleWriter implementation is to operate on.
B - The SampleWriter implementing this AbstractSvgSampleWriter.
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.
  • Field Details

  • Constructor Details

    • AbstractSvgSampleWriter

      public AbstractSvgSampleWriter(File aFile) throws FileNotFoundException
      Constructs the AbstractSvgSampleWriter for writing sound samples to a SVG file or stream.
      Parameters:
      aFile - The File 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

      public AbstractSvgSampleWriter(OutputStream aOutputStream)
      Constructs the AbstractSvgSampleWriter for writing sound samples to a SVG file or stream.
      Parameters:
      aOutputStream - The OutputStream where to write the SVG records to.
    • AbstractSvgSampleWriter

      public AbstractSvgSampleWriter(PrintStream aPrintStream)
      Constructs the AbstractSvgSampleWriter for writing sound samples to a SVG file or stream.
      Parameters:
      aPrintStream - The PrintStream where to write the SVG records to.
  • Method Details

    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface SampleWriter<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 invoking close().
    • 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.
    • format

      protected static String format(String aDouble)
      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.