public static function getFamilies($justTrueScales = true) {
		$allscales = range(0, 4095);
		$modelist= array();
		while (count($allscales) > 0) {
			$s = array_pop($allscales);
			$scale = new Scale($s);
			$modes = $scale->modes();
			if ($scale->isTrueScale()) {
				$modelist[] = $s;
			}
			foreach ($modes as $mode) {
				unset($allscales[$mode]);
			}
		}
		return $modelist;
	}
public static function getFamilies($justTrueScales = true) {
		$allscales = range(0, 4095);
		$modelist= array();
		while (count($allscales) > 0) {
			$s = array_pop($allscales);
			$scale = new Scale($s);
			$modes = $scale->modes();
			if ($scale->isTrueScale()) {
				$modelist[] = $s;
			}
			foreach ($modes as $mode) {
				unset($allscales[$mode]);
			}
		}
		return $modelist;
	}
public static function getFamilies ( $ justTrueScales = true ) { $ allscales = range ( 0 , 4095 ) ; $ modelist = array ( ) ; while ( count ( $ allscales ) > 0 ) { $ s = array_pop ( $ allscales ) ; $ scale = new Scale ( $ s ) ; $ modes = $ scale -> modes ( ) ; if ( $ scale -> isTrueScale ( ) ) { $ modelist [ ] = $ s ; } foreach ( $ modes as $ mode ) { unset ( $ allscales [ $ mode ] ) ; } } return $ modelist ; }
returns an array of all modal families. ie for each set of scales that are modes of each other, only a single
representative is present.
there are other ways to do this, using the prime calculations... but are they better?
returns an array of all modal families . ie for each set of scales that are modes of each other only a single representative is present . there are other ways to do this using the prime calculations ... but are they better?