code: public byte getNearestOccidentalValue() {
  		if (m_value == _NONE || m_value == _NATURAL)
  			return 0;
  		if ((m_value == _DOUBLE_FLAT) || (m_value == _DOUBLE_SHARP))
  			return (byte)m_value;
  		if (m_value < 0)
  			return -1;//flat
  		if (m_value > 0)
  			return 1;//sharp
  		return 0;
  	}
docs: Return the nearest non microtonal semitone
  
  e.g. flat (-1) for a half-flat or flat-and-half