Ejemplo n.º 1
0
void net_set_in_value(s32 inIdx, io_t val) {
  if (inIdx < 0) return;
  if (inIdx < net->numIns) {
    op_set_in_val(net->ops[net->ins[inIdx].opIdx], net->ins[inIdx].opInIdx, val);
  } else {
    // parameter
    inIdx -= net->numIns;
    set_param_value(inIdx, val);
  }
}
Ejemplo n.º 2
0
// increment input value
void op_inc_in_val(op_t* op, const s16 idx, const io_t inc) {
  /* print_dbg("\r\n op_inc_in_val, "); */
  /* print_dbg(" op @ 0x"); */
  /* print_dbg_hex((u32)op); */
  /* print_dbg(" old : 0x"); */
  /* print_dbg_hex((u32)op_get_in_val(op, idx)); */
  /* print_dbg(" inc : 0x"); */
  /* print_dbg_hex((u32)inc); */
  /* print_dbg(" new : 0x"); */
  /* print_dbg_hex( (u32)op_sadd( op_get_in_val(op, idx), inc) ); */    
  op_set_in_val( op, idx, op_sadd( op_get_in_val(op, idx), inc) );
}
Ejemplo n.º 3
0
// activate an input node with a value
void net_activate(s16 inIdx, const io_t val, void* op) {
  static inode_t* pIn;
  s16 pIndex;
  u8 vis;

  print_dbg("\r\n net_activate, input idx: ");
  print_dbg_hex(inIdx);
  print_dbg(" , value: ");
  print_dbg_hex(val);

  print_dbg(" , op index: ");
  print_dbg_ulong(net->ins[inIdx].opIdx);
  print_dbg(" , input idx: ");
  print_dbg_ulong(net->ins[inIdx].opInIdx);

  if(!netActive) {
    if(op != NULL) {
      // if the net isn't active, dont respond to requests from operators
      print_dbg(" ... ignoring node activation from op.");
      return;
    }
  }



  if(inIdx < 0) {
    return;
  }

  vis = net_get_in_play(inIdx);
    print_dbg(" , play visibility flag : ");
    print_dbg_ulong(vis);

  if(inIdx < net->numIns) {      
    // this is an op input
    pIn = &(net->ins[inIdx]);
    
    print_dbg(" ; input node pointer: 0x"); print_dbg_hex((u32)pIn);

    op_set_in_val(net->ops[pIn->opIdx],
		  pIn->opInIdx,
		  val);
    
  } else { 
    // this is a parameter
    //// FIXME this is horrible
    pIndex = inIdx - net->numIns;
    if (pIndex >= net->numParams) { return; }
    print_dbg(" ; param index: 0x"); print_dbg_ulong(pIndex);
    set_param_value(pIndex, val);
  }

  /// only process for play mode if we're in play mode
  if(pageIdx == ePagePlay) {
    print_dbg(" , play mode ");
    if(opPlay) {
      //      operators have focus, do nothing
      print_dbg(" , op focus mode");
    } else {
      // process if play-mode-visibility is set on this input
      if(vis) {
	print_dbg(" , input enabled");
	play_input(inIdx);
      }
    }
  }  
  
}