Exemple #1
0
int nz_recorder_init(struct nz_node * node) {
    int rc = nz_node_alloc_ports(node, 2, 1);
    if (rc != 0) return rc;

    node->node_name = strdup("Recorder");

    // Define inputs
    node->node_inputs[0] = (struct nz_inport) {
        .inport_type = nz_chunk_type,
        .inport_name = strdup("chunks"),
    };
    node->node_inputs[1] = (struct nz_inport) {
        .inport_type = nz_long_type,
        .inport_name = strdup("sizecmd"),
    };
    
    // Define outputs
    node->node_outputs[0] = (struct nz_port) {
        .port_node = node,
        .port_name = strdup("sample"),
        .port_pull = &recorder_pull,
        .port_type = nz_sample_type,
        .port_value = NULL,
    };

    return 0;
}
Exemple #2
0
int nz_impulse_init(struct nz_node * node) {
    int rc = nz_node_alloc_ports(node, 1, 1);
    if (rc != 0) return rc;

    node->node_name = strdup("Impulse");
    node->node_term = &nz_node_term_generic;

    // Define inputs
    node->node_inputs[0] = (struct nz_inport) {
        .inport_type = nz_double_type,
        .inport_name = strdup("trigger"),
    };
    
    // Define outputs
    node->node_outputs[0] = (struct nz_port) {
        .port_node = node,
        .port_name = strdup("impulse"),
        .port_pull = &impulse_pull,
        .port_type = nz_chunk_type,
        .port_value = nz_obj_create(nz_chunk_type),
    };

    if (node->node_outputs[0].port_value == NULL)
        return (nz_node_term(node), -1);

    // Initialize state
    node->node_state = calloc(1, sizeof(struct state));
    struct state * state = (struct state *) node->node_state;
    if (node->node_state == NULL) 
        return (nz_node_term(node), -1);
    
    state->status = STATUS_NEW;

    return 0;
}
Exemple #3
0
int nz_fungen_init(struct nz_node * node) {
    int rc = nz_node_alloc_ports(node, 1, 1);
    if (rc != 0) return rc;

    node->node_term = &nz_node_term_generic;
    node->node_name = strdup("Sine");

    // Define inputs
    node->node_inputs[0] = (struct nz_inport) {
        .inport_type = nz_double_type,
         .inport_name = strdup("time"),
    };

    // Define outputs
    node->node_outputs[0] = (struct nz_port) {
        .port_node = node,
         .port_name = strdup("sin(t)"),
          .port_pull = &fungen_pull,
           .port_type = nz_double_type,
            .port_value = nz_obj_create(nz_double_type),
    };

    if (node->node_outputs[0].port_value == NULL)
        return (nz_node_term(node), -1);

    return 0;
}
Exemple #4
0
int nz_sequencer_init(struct nz_node * node) {
    int rc = nz_node_alloc_ports(node, 2, 1);
    if (rc != 0) return rc;

    node->node_term = &nz_node_term_generic;
    node->node_name = strdup("Sequencer");

    // Define inputs
    node->node_inputs[0] = (struct nz_inport) {
        .inport_type = nz_double_type,
        .inport_name = strdup("time"),
    };
    node->node_inputs[1] = (struct nz_inport) {
        .inport_type = nz_object_vector_type,
        .inport_name = strdup("sequence"),
    };
    
    // Define outputs
    node->node_outputs[0] = (struct nz_port) {
        .port_node = node,
        .port_name = strdup("out"),
        .port_pull = &sequencer_pull,
        .port_type = NULL,
        .port_value = NULL,
    };

    return 0;
}