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; }
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; }
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; }
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; }