@ Sof v1.0 @
' TransformBuilder GUI v2.0

@ FrontEnd @
name = AudioFrontEnd;
audio = {
 };
audio_output = {
 };
frame_duration = 0.01;
output_mode = SOF_FEATURES_BINARY;
start_time = 0.0;
end_time = -1.0;
context_window = -1.0;
target = "FEATURES";

@ Algorithm 0 @
#% 92 73
 name = CoefficientLabel;
 variable = SAMPLED_DATA;
 type = INPUT;

@ Algorithm 1 @
#% 107 339
 name = CoefficientLabel;
 variable = FEATURES;
 type = OUTPUT;

@ Algorithm 2 @
#% 141 187
 name = AlgorithmContainer;
 graph_tag = 200;

@ Algorithm 200 @
#% 254 56
 name = CoefficientLabel;
 type = INPUT;

@ Algorithm 201 @
#% 270 500
 name = CoefficientLabel;
 type = OUTPUT;

@ Algorithm 202 @
#% 176 158
 name = "FILTER";
 algorithm = LTI;
 implementation = CCDE;
 ar_coef = "1.0";
 ma_coef = "1.0";

@ Algorithm 203 @
#% 317 152
 name = "FILTER";
 algorithm = LTI;
 implementation = CCDE;
 ar_coef = "1.0";
 ma_coef = "1.0";

@ Algorithm 204 @
#% 245 271
 name = "CONNECTION";

@ DiGraph<Long> 200 @
weighted = true;
vertices =
        {200, {200}},
        {201, {201}},
        {202, {202}},
        {203, {203}},
        {204, {204}};
arcs =
        {200, 202, 0},
        {200, 203, 0},
        {202, 204, 0},
        {203, 204, 1},
        {204, 201, 0};

@ DiGraph<Long> 0 @
weighted = true;
vertices =
        {0, {0}},
        {1, {1}},
        {2, {2}};
arcs =
        {0, 2, 0},
        {2, 1, 0};

@ SingleLinkedList<Recipe> 0 @
values = {
  input = "__input_SAMPLED_DATA";
  output = "___DATA_0";
  recipe = {
    name = "CoefficientLabel";
    algorithm = "DATA";
    implementation = "COPY";
    variable = "SAMPLED_DATA";
    type = "INPUT";
    coef_type = "PROPAGATE";
    debug_level = "NONE";
  };
}, {
  input = "___DATA_2";
  output = "__output_FEATURES";
  recipe = {
    name = "CoefficientLabel";
    algorithm = "DATA";
    implementation = "COPY";
    variable = "FEATURES";
    type = "OUTPUT";
    coef_type = "PROPAGATE";
    debug_level = "NONE";
  };
}, {
  input = "___DATA_0";
  output = "___DATA_1";
  recipe = {
    name = "CoefficientLabel";
    algorithm = "DATA";
    implementation = "COPY";
    variable = "";
    type = "INTERNAL";
    coef_type = "PROPAGATE";
    debug_level = "NONE";
  };
}, {
  input = "___DATA_4";
  output = "___DATA_2";
  recipe = {
    name = "CoefficientLabel";
    algorithm = "DATA";
    implementation = "COPY";
    variable = "";
    type = "INTERNAL";
    coef_type = "PROPAGATE";
    debug_level = "NONE";
  };
}, {
  input = "___DATA_1";
  output = "___DATA_3";
  recipe = {
    name = "CoefficientLabel";
    algorithm = "DATA";
    implementation = "COPY";
    variable = "";
    type = "INPUT";
    coef_type = "PROPAGATE";
    debug_level = "NONE";
  };
}, {
  input = "___DATA_7";
  output = "___DATA_4";
  recipe = {
    name = "CoefficientLabel";
    algorithm = "DATA";
    implementation = "COPY";
    variable = "";
    type = "OUTPUT";
    coef_type = "PROPAGATE";
    debug_level = "NONE";
  };
}, {
  input = "___DATA_3";
  output = "___DATA_5";
  recipe = {
    name = "Filter";
    algorithm = "LTI";
    implementation = "CCDE";
    ma_coef = 1;
    ar_coef = 1;
    debug_level = "NONE";
  };
}, {
  input = "___DATA_3";
  output = "___DATA_6";
  recipe = {
    name = "Filter";
    algorithm = "LTI";
    implementation = "CCDE";
    ma_coef = 1;
    ar_coef = 1;
    debug_level = "NONE";
  };
}, {
  input = "___DATA_5+___DATA_6";
  output = "___DATA_7";
  recipe = {
    name = "Connection";
    algorithm = "CHANNEL";
    implementation = "CONCATENATE";
    channel = 0;
    debug_level = "NONE";
  };
};
@ SingleLinkedList<Triple<Pair<Long,Long>,Float,Boolean>> 0 @
values = {
  {{0}, {2}}, {0}, {false}
}, {
  {{2}, {4}}, {0}, {false}
}, {
  {{3}, {1}}, {0}, {false}
}, {
  {{4}, {6}}, {0}, {false}
}, {
  {{4}, {7}}, {0}, {false}
}, {
  {{5}, {3}}, {0}, {false}
}, {
  {{6}, {8}}, {0}, {false}
}, {
  {{7}, {8}}, {1}, {false}
}, {
  {{8}, {5}}, {0}, {false}
};
