//------------------------------------------------- //----- extern function definition void op_midi_note_init(void* mem) { // print_dbg("\r\n op_midi_note_init "); op_midi_note_t* op = (op_midi_note_t*)mem; // superclass functions //--- op op->super.inc_fn = (op_inc_fn)op_midi_note_inc_fn; op->super.in_fn = op_midi_note_in_fn; op->super.pickle = (op_pickle_fn) (&op_midi_note_pickle); op->super.unpickle = (op_unpickle_fn) (&op_midi_note_unpickle); //--- midi op->midi.handler = (midi_handler_t)&op_midi_note_handler; op->midi.sub = op; // superclass state op->super.type = eOpMidiNote; op->super.flags |= (1 << eOpFlagMidiIn); op->super.numInputs = 1; op->super.numOutputs = 2; op->super.in_val = op->in_val; op->super.out = op->outs; op->super.opString = op_midi_note_opstring; op->super.inString = op_midi_note_instring; op->super.outString = op_midi_note_outstring; op->in_val[0] = &(op->chanIo); op->outs[0] = -1; op->outs[1] = -1; op->chan = -1; op->chanIo = OP_NEG_ONE; // FIXME: should sanity-check that the op isn't already in the dang list net_midi_list_push(&(op->midi)); }
//------------------------------------------------- //----- extern function definition void op_midi_cc_init(void* mem) { // print_dbg("\r\n op_midi_cc_init "); op_midi_cc_t* op = (op_midi_cc_t*)mem; // superclass functions //--- op // op->super.inc_fn = (op_inc_fn)op_midi_cc_inc_fn; op->super.in_fn = op_midi_cc_in_fn; op->super.pickle = (op_pickle_fn) (&op_midi_cc_pickle); op->super.unpickle = (op_unpickle_fn) (&op_midi_cc_unpickle); //--- midi op->midi.handler = (midi_handler_t)&op_midi_cc_handler; op->midi.sub = op; // superclass state op->super.type = eOpMidiCC; op->super.flags |= (1 << eOpFlagMidiIn); op->super.numInputs = 2; op->super.numOutputs = 1; op->super.in_val = op->in_val; op->super.out = op->outs; op->super.opString = op_midi_cc_opstring; op->super.inString = op_midi_cc_instring; op->super.outString = op_midi_cc_outstring; op->in_val[0] = &(op->chan); op->in_val[1] = &(op->num); op->outs[0] = -1; op->chan = op_from_int(-1); op->num = 0; net_midi_list_push(&(op->midi)); }