Added new attribute - start-fret for which fret the fretboard starts on
This commit is contained in:
@@ -152,6 +152,7 @@ class GuitarDiagramsWebComponent extends HTMLElement {
|
|||||||
"orient-horizontally",
|
"orient-horizontally",
|
||||||
"fret-count",
|
"fret-count",
|
||||||
"scale-factor",
|
"scale-factor",
|
||||||
|
"start-fret",
|
||||||
"center-align",
|
"center-align",
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -170,6 +171,9 @@ class GuitarDiagramsWebComponent extends HTMLElement {
|
|||||||
case "scale-factor":
|
case "scale-factor":
|
||||||
this.#config.scaleFactor = parseFloat(newValue);
|
this.#config.scaleFactor = parseFloat(newValue);
|
||||||
break;
|
break;
|
||||||
|
case "start-fret":
|
||||||
|
this.#config.fretStartingNumber = parseFloat(newValue);
|
||||||
|
break;
|
||||||
case "center-align":
|
case "center-align":
|
||||||
if (newValue == "true") {
|
if (newValue == "true") {
|
||||||
let canvas = this.#docRoot.getElementById(this.#config.canvasID);
|
let canvas = this.#docRoot.getElementById(this.#config.canvasID);
|
||||||
@@ -534,11 +538,21 @@ class GuitarDiagramsWebComponent extends HTMLElement {
|
|||||||
GuitarDiagramsWebComponent.stringNameFontSize *
|
GuitarDiagramsWebComponent.stringNameFontSize *
|
||||||
GuitarDiagramsWebComponent.stringNamePaddingFactor *
|
GuitarDiagramsWebComponent.stringNamePaddingFactor *
|
||||||
this.#config.scaleFactor;
|
this.#config.scaleFactor;
|
||||||
|
paramMarker.posY +=
|
||||||
|
this.#config.fretStartingNumber == 0
|
||||||
|
? 0
|
||||||
|
: GuitarDiagramsWebComponent.fretNumberFontSize *
|
||||||
|
this.#config.scaleFactor;
|
||||||
} else {
|
} else {
|
||||||
paramMarker.posY +=
|
paramMarker.posY +=
|
||||||
GuitarDiagramsWebComponent.stringNameFontSize *
|
GuitarDiagramsWebComponent.stringNameFontSize *
|
||||||
GuitarDiagramsWebComponent.stringNamePaddingFactor *
|
GuitarDiagramsWebComponent.stringNamePaddingFactor *
|
||||||
this.#config.scaleFactor;
|
this.#config.scaleFactor;
|
||||||
|
paramMarker.posX +=
|
||||||
|
this.#config.fretStartingNumber == 0
|
||||||
|
? 0
|
||||||
|
: GuitarDiagramsWebComponent.fretNumberFontSize *
|
||||||
|
this.#config.scaleFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
// paramMarker.posX = posX + boundingRect.left - window.pageXOffset;
|
// paramMarker.posX = posX + boundingRect.left - window.pageXOffset;
|
||||||
@@ -975,7 +989,11 @@ class GuitarDiagramsWebComponent extends HTMLElement {
|
|||||||
baseFreq = 82;
|
baseFreq = 82;
|
||||||
}
|
}
|
||||||
|
|
||||||
const semitoneOffset = Math.pow(2, marker.fret / 12);
|
let currentFret = parseFloat(marker.fret);
|
||||||
|
if (typeof this.#config.fretStartingNumber !== "undefined") {
|
||||||
|
currentFret += parseFloat(this.#config.fretStartingNumber);
|
||||||
|
}
|
||||||
|
const semitoneOffset = Math.pow(2, currentFret / 12);
|
||||||
let finalNote = baseFreq * semitoneOffset;
|
let finalNote = baseFreq * semitoneOffset;
|
||||||
return finalNote;
|
return finalNote;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user