2828/*
2929 exported
3030
31- SYNTHSVG, RSYMBOLS, NOTENAMES, NOTENAMES1, WESTERN2EISOLFEGENAMES ,
32- PITCHES1, PITCHES3, SCALENOTES, EASTINDIANSOLFNOTES, DRUMS ,
33- GRAPHICS, SOLFATTRS, DEGREES, RHYTHMRULERHEIGHT, SLIDERHEIGHT ,
34- SLIDERWIDTH, MATRIXLABELCOLOR, MATRIXNOTECELLCOLOR ,
35- MATRIXTUPLETCELLCOLOR, MATRIXRHYTHMCELLCOLOR,
31+ SYNTHSVG, RSYMBOLS, NOTENAMES, ALLNOTENAMES, NOTENAMES1 ,
32+ WESTERN2EISOLFEGENAMES, PITCHES1, PITCHES3, SCALENOTES,
33+ EASTINDIANSOLFNOTES, DRUMS, GRAPHICS, SOLFATTRS, DEGREES ,
34+ RHYTHMRULERHEIGHT, SLIDERHEIGHT, SLIDERWIDTH, MATRIXLABELCOLOR ,
35+ MATRIXNOTECELLCOLOR, MATRIXTUPLETCELLCOLOR, MATRIXRHYTHMCELLCOLOR,
3636 MATRIXBUTTONCOLORHOVER, MATRIXNOTECELLCOLORHOVER, MATRIXSOLFEWIDTH,
3737 EIGHTHNOTEWIDTH, MATRIXBUTTONHEIGHT, MATRIXBUTTONHEIGHT2,
3838 MATRIXSOLFEHEIGHT, NOTESYMBOLS, SELECTORSTRINGS, ACCIDENTALLABELS,
@@ -228,6 +228,43 @@ const SOLFEGENAMES1 = [
228228 "ti"
229229] ;
230230const NOTENAMES = [ "C" , "D" , "E" , "F" , "G" , "A" , "B" ] ;
231+ const ALLNOTENAMES = [
232+ "C" ,
233+ "C#" ,
234+ "Cx" ,
235+ "Dbb" ,
236+ "Db" ,
237+ "D" ,
238+ "D#" ,
239+ "Dx" ,
240+ "Ebb" ,
241+ "Eb" ,
242+ "E" ,
243+ "E#" ,
244+ "Ex" ,
245+ "Fbb" ,
246+ "Fb" ,
247+ "F" ,
248+ "F#" ,
249+ "Fx" ,
250+ "Gbb" ,
251+ "Gb" ,
252+ "G" ,
253+ "G#" ,
254+ "Gx" ,
255+ "Abb" ,
256+ "Ab" ,
257+ "A" ,
258+ "A#" ,
259+ "Ax" ,
260+ "Bbb" ,
261+ "Bb" ,
262+ "B" ,
263+ "B#" ,
264+ "Bx" ,
265+ "Cbb" ,
266+ "Cb"
267+ ] ;
231268const NOTENAMES1 = [
232269 "C" ,
233270 "C" + SHARP ,
@@ -1200,20 +1237,20 @@ const TEMPERAMENT = {
12001237 ]
12011238 } ,
12021239 "custom" : {
1203- "0" : Math . pow ( 2 , 0 / 12 ) ,
1204- "1" : Math . pow ( 2 , 1 / 12 ) ,
1205- "2" : Math . pow ( 2 , 2 / 12 ) ,
1206- "3" : Math . pow ( 2 , 3 / 12 ) ,
1207- "4" : Math . pow ( 2 , 4 / 12 ) ,
1208- "5" : Math . pow ( 2 , 5 / 12 ) ,
1209- "6" : Math . pow ( 2 , 6 / 12 ) ,
1210- "7" : Math . pow ( 2 , 7 / 12 ) ,
1211- "8" : Math . pow ( 2 , 8 / 12 ) ,
1212- "9" : Math . pow ( 2 , 9 / 12 ) ,
1213- "10" : Math . pow ( 2 , 10 / 12 ) ,
1214- "11" : Math . pow ( 2 , 11 / 12 ) ,
1215- " pitchNumber" : 12 ,
1216- " interval" : [
1240+ 0 : Math . pow ( 2 , 0 / 12 ) ,
1241+ 1 : Math . pow ( 2 , 1 / 12 ) ,
1242+ 2 : Math . pow ( 2 , 2 / 12 ) ,
1243+ 3 : Math . pow ( 2 , 3 / 12 ) ,
1244+ 4 : Math . pow ( 2 , 4 / 12 ) ,
1245+ 5 : Math . pow ( 2 , 5 / 12 ) ,
1246+ 6 : Math . pow ( 2 , 6 / 12 ) ,
1247+ 7 : Math . pow ( 2 , 7 / 12 ) ,
1248+ 8 : Math . pow ( 2 , 8 / 12 ) ,
1249+ 9 : Math . pow ( 2 , 9 / 12 ) ,
1250+ 10 : Math . pow ( 2 , 10 / 12 ) ,
1251+ 11 : Math . pow ( 2 , 11 / 12 ) ,
1252+ pitchNumber : 12 ,
1253+ interval : [
12171254 "perfect 1" ,
12181255 "minor 2" ,
12191256 "major 2" ,
@@ -1235,22 +1272,18 @@ const setOctaveRatio = (newOctaveRatio) => {
12351272 octaveRatio = newOctaveRatio ;
12361273} ;
12371274
1238-
12391275const getOctaveRatio = ( ) => {
12401276 return octaveRatio ;
12411277} ;
12421278
1243-
12441279const getTemperamentsList = ( ) => {
12451280 return TEMPERAMENTS ;
12461281} ;
12471282
1248-
12491283const getTemperament = ( entry ) => {
12501284 return TEMPERAMENT [ entry ] ;
12511285} ;
12521286
1253-
12541287const getTemperamentKeys = ( ) => {
12551288 const keys = [ ] ;
12561289 for ( const k in TEMPERAMENT ) {
@@ -1260,7 +1293,6 @@ const getTemperamentKeys = () => {
12601293 return keys ;
12611294} ;
12621295
1263-
12641296const addTemperamentToList = ( newEntry ) => {
12651297 for ( let i = 0 ; i < TEMPERAMENTS . length ; i ++ ) {
12661298 if ( PreDefinedTemperaments [ i ] === newEntry ) {
@@ -1270,17 +1302,14 @@ const addTemperamentToList = (newEntry) => {
12701302 TEMPERAMENTS . push ( newEntry ) ;
12711303} ;
12721304
1273-
12741305const deleteTemperamentFromList = ( oldEntry ) => {
12751306 delete TEMPERAMENT [ oldEntry ] ;
12761307} ;
12771308
1278-
12791309const addTemperamentToDictionary = ( entryName , entryValue ) => {
12801310 TEMPERAMENT [ entryName ] = entryValue ;
12811311} ;
12821312
1283-
12841313const updateTemperaments = ( ) => {
12851314 TEMPERAMENTS = [ ...INITIALTEMPERAMENTS ] ;
12861315 for ( const i in TEMPERAMENT ) {
@@ -2974,14 +3003,14 @@ function getNote(
29743003 for ( const number in TEMPERAMENT [ temperament ] ) {
29753004 if ( number !== "pitchNumber" ) {
29763005 if ( note === TEMPERAMENT [ temperament ] [ number ] [ 3 ] ) {
2977- if ( typeof ( number ) === "string" ) {
3006+ if ( typeof number === "string" ) {
29783007 pitchNumber = Number ( number ) ;
29793008 } else {
29803009 pitchNumber = number ;
29813010 }
29823011 break ;
29833012 } else if ( note === TEMPERAMENT [ temperament ] [ number ] [ 1 ] ) {
2984- if ( typeof ( number ) === "string" ) {
3013+ if ( typeof number === "string" ) {
29853014 pitchNumber = Number ( number ) ;
29863015 } else {
29873016 pitchNumber = number ;
@@ -4237,7 +4266,8 @@ function getPitchInfo(activity, type, notePlayed, tur) {
42374266 if ( tur . singer . moveable === false ) return SOLFEGECONVERSIONTABLE [ np ] ;
42384267 return SOLFEGENAMES [ buildScale ( tur . singer . keySignature ) [ 0 ] . indexOf ( np ) ] ;
42394268 case "pitch class" :
4240- if ( Number ( np ) ) {
4269+ // If it is a frequency, convert it to a pitch/octave.
4270+ if ( ! isNaN ( Number ( np ) ) ) {
42414271 np = frequencyToPitch ( np ) [ 0 ] + frequencyToPitch ( np ) [ 1 ] ;
42424272 }
42434273 return (
@@ -4303,7 +4333,10 @@ function getPitchInfo(activity, type, notePlayed, tur) {
43034333 case "pitch number" :
43044334 return _calculate_pitch_number ( activity , np , tur ) ;
43054335 case "pitch in hertz" :
4306- return activity . logo . synth . _getFrequency ( np , activity . logo . synth . changeInTemperament ) ;
4336+ return activity . logo . synth . _getFrequency (
4337+ np ,
4338+ activity . logo . synth . changeInTemperament
4339+ ) ;
43074340 case "pitch to color" :
43084341 if ( Number ( np ) ) {
43094342 [ np , octave ] = frequencyToPitch ( np ) ;
0 commit comments