1
package org.herac.tuxguitar.gui.editors.chord;
4
* Creates a chord name String out of given parameters
5
* @author Nikola Kolarovic
7
public class ChordNamingConvention {
9
/** generates the chord name out of selected items */
10
public String createChordName(int chordTonic,
21
StringBuffer sb = new StringBuffer();
23
sb.append(getTonic(chordTonic,sharp));
25
//String chordName = ((ChordInfo)ChordCreatorUtil.getChordData().getChords().get(chordIndex)).getName();
26
String chordName = ChordDatabase.get(chordIndex).getName();
27
if (!chordName.equals("M"))
35
char lastChar = sb.toString().charAt(sb.toString().length()-1);
36
// if chord name ends with a number then add a backslash
37
if (lastChar>='0' && lastChar <='9')
41
case 1 : sb.append( getAdd("9",plusMinus));
43
case 2 : sb.append( getAdd("11",plusMinus));
45
case 3 : sb.append( getAdd("13",plusMinus));
52
sb.append("/").append(getAdd("5",add5));
54
sb.append("/").append(getAdd("9",add9));
56
sb.append("/").append(getAdd("11",add11));
58
if (chordTonic!=bassTonic) {
60
sb.append(getTonic(bassTonic,sharp));
66
public String getTonic(int chordTonic, boolean sharp) {
69
case 0 : retVal="C"; break;
70
case 1 : retVal= sharp ? "C#" : "Db"; break;
71
case 2 : retVal="D"; break;
72
case 3 : retVal= sharp ? "D#" : "Eb"; break;
73
case 4 : retVal="E"; break;
74
case 5 : retVal="F"; break;
75
case 6 : retVal= sharp ? "F#" : "Gb"; break;
76
case 7 : retVal="G"; break;
77
case 8 : retVal= sharp ? "G#" : "Ab"; break;
78
case 9 : retVal="A"; break;
79
case 10 : retVal= sharp ? "A#" : "Bb"; break;
80
default : retVal="B"; break;
85
/** adds + or - to an add chord String */
86
private String getAdd(String number, int selectionIndex) {
87
StringBuffer retVal=new StringBuffer(number);
88
switch(selectionIndex) {
89
case 1 : retVal.append("+"); break;
90
case 2 : retVal.append("-"); break;
92
return retVal.toString();