module Music.Theory.Tuning.DB where
import Data.List
import Music.Theory.Tuning
import Music.Theory.Tuning.Alves_1997
import Music.Theory.Tuning.Gann_1993
import Music.Theory.Tuning.Polansky_1978
import Music.Theory.Tuning.Polansky_1985c
import Music.Theory.Tuning.DB.Alves
import Music.Theory.Tuning.DB.Gann
import Music.Theory.Tuning.DB.Microtonal_Synthesis
import Music.Theory.Tuning.DB.Riley
import Music.Theory.Tuning.DB.Werckmeister
type Named_Tuning = (String,String,String,String,Tuning,String)
named_tuning_t :: Named_Tuning -> Tuning
named_tuning_t (_,_,_,_,t,_) = t
tuning_db :: [Named_Tuning]
tuning_db =
[("Aaron","Pietro","","1523",pietro_aaron_1523,"meanquar")
,("Alves","Bill","Slendro","",alves_slendro,"slendro_alves")
,("Alves","Bill","Pelog/Bem","",alves_pelog_bem,"")
,("Alves","Bill","Pelog/Barang","",alves_pelog_barang,"")
,("Gann","Kyle","Superparticular","1992",gann_superparticular,"gann_super")
,("Harrison","Lou","Ditone","",harrison_ditone,"")
,("Harrison","Lou","16-tone","",lou_harrison_16,"harrison_16")
,("Johnston","Ben","MTP","1977",ben_johnston_mtp_1977,"")
,("Johnston","Ben","25-tone","",ben_johnston_25,"johnston_25")
,("Kirnberger","Johann Philipp","III","",kirnberger_iii,"kirnberger")
,("Malcolm","Alexander","Monochord","1721",five_limit_tuning,"malcolm")
,("Partch","Harry","43-tone","",partch_43,"partch_43")
,("Polansky","Larry","Piano Study #5","1985",ps5_jpr,"polansky_ps")
,("Polansky","Larry","Psaltery","1978",psaltery_o,"")
,("Riley","Terry","Harp of New Albion","",riley_albion,"riley_albion")
,("Tsuda","Mayumi","13-limit","",mayumi_tsuda,"tsuda13")
,("Vallotti","","","1754",vallotti,"vallotti")
,("Werckmeister","Andreas","Werckmeister III","",werckmeister_iii,"werck3")
,("Werckmeister","Andreas","Werckmeister IV","",werckmeister_iv,"werck4")
,("Werckmeister","Andreas","Werckmeister V","",werckmeister_v,"werck5")
,("Werckmeister","Andreas","Werckmeister VI","",werckmeister_vi,"werck6")
,("Young","La Monte","The Well-Tuned Piano","",lmy_wtp,"young-lm_piano")
,("Young","Thomas","","1799",thomas_young_1799,"young2")
,("Zarlino","Gioseffo","","1588",zarlino_1588,"zarlino2")
,("","","JI/12 7-limit","",septimal_tritone_just_intonation,"ji_12")
,("","","ET/12","",equal_temperament_12,"")
,("","","ET/19","",equal_temperament_19,"")
,("","","ET/31","",equal_temperament_31,"")
,("","","ET/53","",equal_temperament_53,"")
,("","","ET/72","",equal_temperament_72,"")
,("","","ET/96","",equal_temperament_96,"")
,("","","Pythagorean/12","",pythagorean_12,"pyth_12")
]
tuning_db_lookup_scl :: String -> Maybe Tuning
tuning_db_lookup_scl nm = fmap named_tuning_t (find (\(_,_,_,_,_,scl) -> scl == nm) tuning_db)