/*
 *  FretRatios.cpp
 *  lsystems_one
 *
 *  Created by lewhill2 on Mon Mar 08 2004.
 *  Copyright (c) 2004 __MyCompanyName__. All rights reserved.
 *
 */

#include "FretRatios.h"

FretRatios::FretRatios(){
  init();

  /*
    for (int i = 0; i < 24; i++){
    cout << "i =  " << i << " ratio = " << getRatio(i) << endl;
    } 
  */

}

FretRatios::~FretRatios(){	
}

void FretRatios::init(){

  intervals[0] = 1.0;
  intervals[1] = 16.0/15.0;
  intervals[2] = 9.0/8.0;
  intervals[3] = 6.0/5.0;
  intervals[4] = 5.0/4.0;
  intervals[5] = 4.0/3.0;
  intervals[6] = 7.0/5.0;
  intervals[7] = 3.0/2.0;
  intervals[8] = 8.0/5.0;
  intervals[9] = 5.0/3.0;
  intervals[10] = 16.0/9.0;
  intervals[11] = 15.0/8.0;
}


float FretRatios::getRatio(int range){

  int index = range%12;
  float multiplier = floor(range/12.0);
 
  return (intervals[index] * pow(2,multiplier) );

}

