public function isHeliotonic() {
		// let's at least make an attempt to do this programatically
		if (!$this->isHeptatonic()) {
			return false;
		}

		// are any of the scale degrees more than 2 alterations away from the major scale?
		$major = array(0,2,4,5,7,9,11);
		$tones = $this->getTones();
		foreach ($tones as $index => $tone) {
			if (abs($tone - $major[$index]) > 2) {
				return false;
			}
		}
		return true;

		// here's our backup list in case the above doesn't work
		return in_array($this->scale, array(1387,1451,1709,1717,2773,2477,2741,1453,2777,1741,1395,2745));
	}
public function isHeliotonic() {
		// let's at least make an attempt to do this programatically
		if (!$this->isHeptatonic()) {
			return false;
		}

		// are any of the scale degrees more than 2 alterations away from the major scale?
		$major = array(0,2,4,5,7,9,11);
		$tones = $this->getTones();
		foreach ($tones as $index => $tone) {
			if (abs($tone - $major[$index]) > 2) {
				return false;
			}
		}
		return true;

		// here's our backup list in case the above doesn't work
		return in_array($this->scale, array(1387,1451,1709,1717,2773,2477,2741,1453,2777,1741,1395,2745));
	}
public function isHeliotonic ( ) { // let's at least make an attempt to do this programatically if ( ! $ this -> isHeptatonic ( ) ) { return false ; } // are any of the scale degrees more than 2 alterations away from the major scale? $ major = array ( 0 , 2 , 4 , 5 , 7 , 9 , 11 ) ; $ tones = $ this -> getTones ( ) ; foreach ( $ tones as $ index => $ tone ) { if ( abs ( $ tone - $ major [ $ index ] ) > 2 ) { return false ; } } return true ; // here's our backup list in case the above doesn't work return in_array ( $ this -> scale , array ( 1387 , 1451 , 1709 , 1717 , 2773 , 2477 , 2741 , 1453 , 2777 , 1741 , 1395 , 2745 ) ) ; }
We will conveniently use the definition that a heliotonic scale is a heptatonic scale that
can be written with one tone on each step; so each tone gets its own letter name. This is useful when
we are figuring out the enharmonic spelling of an altered note
We will conveniently use the definition that a heliotonic scale is a heptatonic scale that can be written with one tone on each step ; so each tone gets its own letter name . This is useful when we are figuring out the enharmonic spelling of an altered note