commit 3eb6f015ffaff9449f35e67cf50d1df205c15813
parent 99f518e0ef26318a98475a4633af40e24af794e2
Author: Mikołaj Biel <mbiel@mailbox.org>
Date: Fri, 2 Oct 2020 18:00:00 +0200
Add Banjo tuning
Diffstat:
5 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/app/src/main/java/com/github/cythara/TuningMapper.java b/app/src/main/java/com/github/cythara/TuningMapper.java
@@ -2,6 +2,7 @@ package com.github.cythara;
import android.util.Log;
+import com.github.cythara.tuning.BanjoTuning;
import com.github.cythara.tuning.DropCBassTuning;
import com.github.cythara.tuning.BassTuning;
import com.github.cythara.tuning.CelloTuning;
@@ -33,6 +34,7 @@ class TuningMapper {
private static final int CELLO_TUNING_POSITION = 11;
private static final int VIOLA_TUNING_POSITION = 12;
private static final int OUDSTDTR_TUNING_POSITION = 13;
+ private static final int BANJO_TUNING_POSITION = 14;
static Tuning getTuningFromPosition(int position) {
switch (position) {
@@ -64,6 +66,8 @@ class TuningMapper {
return new ViolaTuning();
case OUDSTDTR_TUNING_POSITION:
return new OudStdTurkishTuning();
+ case BANJO_TUNING_POSITION:
+ return new BanjoTuning();
default:
Log.w("com.github.cythara", "Unknown position for tuning dropdown list");
return new ChromaticTuning();
diff --git a/app/src/main/java/com/github/cythara/tuning/BanjoTuning.java b/app/src/main/java/com/github/cythara/tuning/BanjoTuning.java
@@ -0,0 +1,53 @@
+package com.github.cythara.tuning;
+
+import com.github.cythara.Note;
+import com.github.cythara.NoteName;
+import com.github.cythara.Tuning;
+
+import static com.github.cythara.NoteName.*;
+
+public class BanjoTuning implements Tuning {
+
+ @Override
+ public Note[] getNotes() {
+ return Pitch.values();
+ }
+
+ @Override
+ public Note findNote(String name) {
+ return Pitch.valueOf(name);
+ }
+
+ private enum Pitch implements Note {
+
+ G4(G, 4),
+ D3(D, 3),
+ G3(G, 3),
+ B3(B, 3),
+ D4(D, 4);
+
+ private final String sign;
+ private final int octave;
+ private NoteName name;
+
+ Pitch(NoteName name, int octave) {
+ this.name = name;
+ this.octave = octave;
+ this.sign = "";
+ }
+
+ public NoteName getName() {
+ return name;
+ }
+
+ @Override
+ public int getOctave() {
+ return octave;
+ }
+
+ @Override
+ public String getSign() {
+ return sign;
+ }
+ }
+}
diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml
@@ -29,6 +29,7 @@
<item>Cello (Standard)</item>
<item>Viola (Standard)</item>
<item>Oud (Turkish standard)</item>
+ <item>Banjo (Standard)</item>
</string-array>
<string-array name="notations">
<item name="scientific">Wissenschaftlich</item>
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
@@ -29,6 +29,7 @@
<item>Cello (padrão)</item>
<item>Viola (padrão)</item>
<item>Oud (Turkish standard)</item>
+ <item>Banjo (standard)</item>
</string-array>
<string-array name="notations">
<item name="scientific">Notação científica</item>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
@@ -31,6 +31,7 @@
<item>Cello (standard)</item>
<item>Viola (standard)</item>
<item>Oud (Turkish standard)</item>
+ <item>Banjo (standard)</item>
</string-array>
<string-array name="notations">
<item name="scientific">Scientific pitch notation</item>