-rw-r--r-- | noncore/multimedia/tonleiter/tonleiterdata.cpp | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/noncore/multimedia/tonleiter/tonleiterdata.cpp b/noncore/multimedia/tonleiter/tonleiterdata.cpp index 8a9fdca..e1ecb5a 100644 --- a/noncore/multimedia/tonleiter/tonleiterdata.cpp +++ b/noncore/multimedia/tonleiter/tonleiterdata.cpp | |||
@@ -1,118 +1,182 @@ | |||
1 | #include "tonleiterdata.h" | 1 | #include "tonleiterdata.h" |
2 | 2 | ||
3 | #include <qpe/config.h> | ||
4 | |||
3 | TonleiterData::TonleiterData(QObject* parent) | 5 | TonleiterData::TonleiterData(QObject* parent) |
4 | :QObject(parent) | 6 | :QObject(parent) |
5 | { | 7 | { |
6 | drawnames=true; | 8 | drawnames=true; |
7 | loadData(); | 9 | loadData(); |
8 | } | 10 | } |
9 | //**************************************************************************** | 11 | //**************************************************************************** |
10 | TonleiterData::~TonleiterData() | 12 | TonleiterData::~TonleiterData() |
11 | { | 13 | { |
12 | saveData(); | 14 | saveData(); |
13 | } | 15 | } |
14 | //**************************************************************************** | 16 | //**************************************************************************** |
15 | void TonleiterData::setCurrentInstrumetID(int id) | 17 | void TonleiterData::setCurrentInstrumetID(int id) |
16 | { | 18 | { |
17 | if(id>=0 && id<noOfInstruments()) | 19 | if(id>=0 && id<noOfInstruments()) |
18 | { | 20 | { |
19 | currentInstrumentID=id; | 21 | currentInstrumentID=id; |
20 | emit dataChange(); | 22 | emit dataChange(); |
21 | } | 23 | } |
22 | } | 24 | } |
23 | //**************************************************************************** | 25 | //**************************************************************************** |
24 | void TonleiterData::setCurrentScaleID(int id) | 26 | void TonleiterData::setCurrentScaleID(int id) |
25 | { | 27 | { |
26 | if(id>=0 && id<noOfScales()) | 28 | if(id>=0 && id<noOfScales()) |
27 | { | 29 | { |
28 | currentScaleID=id; | 30 | currentScaleID=id; |
29 | emit dataChange(); | 31 | emit dataChange(); |
30 | } | 32 | } |
31 | } | 33 | } |
32 | //**************************************************************************** | 34 | //**************************************************************************** |
33 | void TonleiterData::setCurrentNote(int id) | 35 | void TonleiterData::setCurrentNote(int id) |
34 | { | 36 | { |
35 | if(id>=0 && id<12) | 37 | if(id>=0 && id<12) |
36 | { | 38 | { |
37 | currentNote=id; | 39 | currentNote=id; |
38 | emit dataChange(); | 40 | emit dataChange(); |
39 | } | 41 | } |
40 | } | 42 | } |
41 | //**************************************************************************** | 43 | //**************************************************************************** |
42 | void TonleiterData::setDrawNames(bool dn) | 44 | void TonleiterData::setDrawNames(bool dn) |
43 | { | 45 | { |
44 | drawnames=dn; | 46 | drawnames=dn; |
45 | emit dataChange(); | 47 | emit dataChange(); |
46 | } | 48 | } |
47 | //**************************************************************************** | 49 | //**************************************************************************** |
48 | void TonleiterData::loadData() | 50 | void TonleiterData::loadData() |
49 | { | 51 | { |
52 | /* | ||
50 | QValueList<int> strings1; | 53 | QValueList<int> strings1; |
51 | strings1.append(Note::getNoteFromName("B",0)); | 54 | strings1.append(Note::getNoteFromName("B",0)); |
52 | strings1.append(Note::getNoteFromName("E",1)); | 55 | strings1.append(Note::getNoteFromName("E",1)); |
53 | strings1.append(Note::getNoteFromName("A",1)); | 56 | strings1.append(Note::getNoteFromName("A",1)); |
54 | strings1.append(Note::getNoteFromName("D",2)); | 57 | strings1.append(Note::getNoteFromName("D",2)); |
55 | strings1.append(Note::getNoteFromName("G",2)); | 58 | strings1.append(Note::getNoteFromName("G",2)); |
56 | strings1.append(Note::getNoteFromName("C",3)); | 59 | strings1.append(Note::getNoteFromName("C",3)); |
57 | instruments.append(Instrument("Thumb6",26,strings1)); | 60 | instruments.append(Instrument("Thumb6",26,strings1)); |
58 | 61 | ||
59 | QValueList<int> strings2; | 62 | QValueList<int> strings2; |
60 | strings2.append(Note::getNoteFromName("E",1)); | 63 | strings2.append(Note::getNoteFromName("E",1)); |
61 | strings2.append(Note::getNoteFromName("A",1)); | 64 | strings2.append(Note::getNoteFromName("A",1)); |
62 | strings2.append(Note::getNoteFromName("D",2)); | 65 | strings2.append(Note::getNoteFromName("D",2)); |
63 | strings2.append(Note::getNoteFromName("G",2)); | 66 | strings2.append(Note::getNoteFromName("G",2)); |
64 | instruments.append(Instrument("Bass 4",12,strings2)); | 67 | instruments.append(Instrument("Bass 4",12,strings2)); |
65 | 68 | ||
66 | currentInstrumentID=1; | 69 | currentInstrumentID=1; |
67 | 70 | ||
68 | QValueList<int> scale1; | 71 | QValueList<int> scale1; |
69 | scale1.append(0); | 72 | scale1.append(0); |
70 | scale1.append(2); | 73 | scale1.append(2); |
71 | scale1.append(3); | 74 | scale1.append(3); |
72 | scale1.append(5); | 75 | scale1.append(5); |
73 | scale1.append(7); | 76 | scale1.append(7); |
74 | scale1.append(8); | 77 | scale1.append(8); |
75 | scale1.append(10); | 78 | scale1.append(10); |
76 | scales.append(Scale("Minor",scale1)); | 79 | scales.append(Scale("Minor",scale1)); |
77 | 80 | ||
78 | QValueList<int> scale2; | 81 | QValueList<int> scale2; |
79 | scale2.append(0); | 82 | scale2.append(0); |
80 | scale2.append(2); | 83 | scale2.append(2); |
81 | scale2.append(4); | 84 | scale2.append(4); |
82 | scale2.append(5); | 85 | scale2.append(5); |
83 | scale2.append(7); | 86 | scale2.append(7); |
84 | scale2.append(9); | 87 | scale2.append(9); |
85 | scale2.append(10); | 88 | scale2.append(10); |
86 | scales.append(Scale("Major",scale2)); | 89 | scales.append(Scale("Major",scale2)); |
87 | 90 | ||
88 | currentScaleID=0; | 91 | currentScaleID=0; |
89 | 92 | ||
90 | currentNote=Note::getNoteFromName("A",0); | 93 | currentNote=Note::getNoteFromName("A",0); |
94 | */ | ||
95 | Config load("Tonleiter"); | ||
96 | load.setGroup("General"); | ||
97 | currentNote=load.readNumEntry("currentNote"); | ||
98 | drawnames=load.readBoolEntry("drawnames"); | ||
99 | currentInstrumentID=load.readNumEntry("currentInstrumentID"); | ||
100 | currentScaleID=load.readNumEntry("currentScaleID"); | ||
101 | |||
102 | load.setGroup("Instrument"); | ||
103 | int noOfInstr=load.readNumEntry("noOfInstruments",0); | ||
104 | for(int i=0;i<noOfInstr;i++) | ||
105 | { | ||
106 | QStringList instlist=load.readListEntry("Inst"+QString::number(i),';'); | ||
107 | QValueList<int> strings; | ||
108 | for(int st=2;st<(int)instlist.count();st++) | ||
109 | strings.append(instlist[st].toInt()); | ||
110 | instruments.append(Instrument(instlist[0],instlist[1].toInt(),strings)); | ||
111 | } | ||
112 | |||
113 | load.setGroup("Scale"); | ||
114 | int scaleno=load.readNumEntry("noOfScales",0); | ||
115 | for(int s=0;s<scaleno;s++) | ||
116 | { | ||
117 | QStringList scalelist=load.readListEntry("Scale"+QString::number(s),';'); | ||
118 | QValueList<int> halftones; | ||
119 | for(int ht=1;ht<(int)scalelist.count();ht++) | ||
120 | halftones.append(scalelist[ht].toInt()); | ||
121 | scales.append(Scale(scalelist[0],halftones)); | ||
122 | } | ||
123 | |||
91 | } | 124 | } |
92 | //**************************************************************************** | 125 | //**************************************************************************** |
93 | void TonleiterData::saveData() | 126 | void TonleiterData::saveData() |
94 | { | 127 | { |
128 | Config save("Tonleiter"); | ||
129 | save.setGroup("General"); | ||
130 | save.writeEntry("currentNote",currentNote); | ||
131 | save.writeEntry("drawnames",drawnames); | ||
132 | save.writeEntry("currentInstrumentID",currentInstrumentID); | ||
133 | save.writeEntry("currentScaleID",currentScaleID); | ||
134 | |||
135 | save.setGroup("Instrument"); | ||
136 | save.writeEntry("noOfInstruments",noOfInstruments()); | ||
137 | for(int i=0;i<noOfInstruments();i++) | ||
138 | { | ||
139 | QStringList instlist; | ||
140 | Instrument inst=getInstrument(i); | ||
141 | instlist.append(inst.instName()); | ||
142 | instlist.append(QString::number(inst.noOfFrets())); | ||
143 | for(int st=0;st<inst.noOfStrings();st++) | ||
144 | instlist.append(QString::number(inst.string(st))); | ||
145 | save.writeEntry("Inst"+QString::number(i),instlist,';'); | ||
146 | } | ||
147 | |||
148 | save.setGroup("Scale"); | ||
149 | save.writeEntry("noOfScales",noOfScales()); | ||
150 | for(int s=0;s<noOfScales();s++) | ||
151 | { | ||
152 | QStringList scalelist; | ||
153 | Scale scale=getScale(s); | ||
154 | scalelist.append(scale.scaleName()); | ||
155 | for(int ht=0;ht<scale.noOfHaltones();ht++) | ||
156 | scalelist.append(QString::number(scale.getHalfTone(ht))); | ||
157 | save.writeEntry("Scale"+QString::number(s),scalelist,';'); | ||
158 | } | ||
95 | } | 159 | } |
96 | //**************************************************************************** | 160 | //**************************************************************************** |
97 | int TonleiterData::noOfInstruments() | 161 | int TonleiterData::noOfInstruments() |
98 | { | 162 | { |
99 | return (int)instruments.count(); | 163 | return (int)instruments.count(); |
100 | } | 164 | } |
101 | //**************************************************************************** | 165 | //**************************************************************************** |
102 | Instrument TonleiterData::getInstrument(int id) | 166 | Instrument TonleiterData::getInstrument(int id) |
103 | { | 167 | { |
104 | if(id>=0 && id<noOfInstruments()) | 168 | if(id>=0 && id<noOfInstruments()) |
105 | return instruments[id]; | 169 | return instruments[id]; |
106 | else | 170 | else |
107 | { | 171 | { |
108 | qDebug("undefined insrtument %d of %d",id,instruments.count()); | 172 | qDebug("undefined insrtument %d of %d",id,instruments.count()); |
109 | return Instrument(); | 173 | return Instrument(); |
110 | } | 174 | } |
111 | 175 | ||
112 | } | 176 | } |
113 | //**************************************************************************** | 177 | //**************************************************************************** |
114 | int TonleiterData::getCurrentInstrumentID() | 178 | int TonleiterData::getCurrentInstrumentID() |
115 | { | 179 | { |
116 | return currentInstrumentID; | 180 | return currentInstrumentID; |
117 | } | 181 | } |
118 | //**************************************************************************** | 182 | //**************************************************************************** |