Class GestureGranularConfigIO

java.lang.Object
net.paulhertz.pixelaudio.io.GestureGranularConfigIO

public final class GestureGranularConfigIO extends Object
JSON read/write support for GestureGranularConfig.Builder.
Filename convention suggestion: gesture_001_softGranular_config.json
  • Field Details

    • FORMAT

      public static final String FORMAT
      Format identifier written to brush configuration JSON headers.
      See Also:
    • VERSION

      public static final int VERSION
      Brush configuration JSON format version.
      See Also:
  • Constructor Details

    • GestureGranularConfigIO

      private GestureGranularConfigIO()
  • Method Details

    • toJson

      public static processing.data.JSONObject toJson(GestureGranularConfig.Builder b, GestureGranularConfigIO.Meta meta)
      Serializes a gesture granular configuration builder to a JSON object.
      Parameters:
      b - builder to serialize
      meta - optional metadata
      Returns:
      JSON root object
    • write

      public static void write(File file, GestureGranularConfig.Builder builder, GestureGranularConfigIO.Meta meta) throws IOException
      Writes a brush configuration JSON file.
      Parameters:
      file - destination file
      builder - builder to serialize
      meta - optional metadata
      Throws:
      IOException - if the file cannot be written
    • read

      public static GestureGranularConfigIO.Result read(File file) throws IOException
      Reads a brush configuration JSON file.
      Parameters:
      file - source file
      Returns:
      parsed configuration result
      Throws:
      IOException - if the file cannot be read
    • fromJson

      public static GestureGranularConfigIO.Result fromJson(processing.data.JSONObject root)
      Reconstructs a configuration builder from a parsed JSON root object.
      Parameters:
      root - parsed JSON root
      Returns:
      parsed configuration result
    • adsrToJson

      private static processing.data.JSONObject adsrToJson(ADSRParams env)
    • adsrFromJson

      private static ADSRParams adsrFromJson(processing.data.JSONObject obj)
    • reflectFloat

      private static float reflectFloat(Object target, String... candidates)
    • getFloatOr

      private static float getFloatOr(processing.data.JSONObject obj, String key, float fallback)
    • requireHeader

      private static void requireHeader(processing.data.JSONObject header, String expectedFormat, int expectedVersion)
    • putIfPresent

      private static void putIfPresent(processing.data.JSONObject obj, String key, String value)
    • nonNull

      private static String nonNull(String value, String fallback)