Exemplo n.º 1
0
//-------------------------------------------------
//----- 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));
}
Exemplo n.º 2
0
//-------------------------------------------------
//----- 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));
}