summaryrefslogtreecommitdiff
path: root/noncore/multimedia/tonleiter/tonleiterdata.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/tonleiter/tonleiterdata.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/tonleiter/tonleiterdata.cpp151
1 files changed, 151 insertions, 0 deletions
diff --git a/noncore/multimedia/tonleiter/tonleiterdata.cpp b/noncore/multimedia/tonleiter/tonleiterdata.cpp
new file mode 100644
index 0000000..8a9fdca
--- a/dev/null
+++ b/noncore/multimedia/tonleiter/tonleiterdata.cpp
@@ -0,0 +1,151 @@
1#include "tonleiterdata.h"
2
3TonleiterData::TonleiterData(QObject* parent)
4:QObject(parent)
5{
6 drawnames=true;
7 loadData();
8}
9//****************************************************************************
10TonleiterData::~TonleiterData()
11{
12 saveData();
13}
14//****************************************************************************
15void TonleiterData::setCurrentInstrumetID(int id)
16{
17 if(id>=0 && id<noOfInstruments())
18 {
19 currentInstrumentID=id;
20 emit dataChange();
21 }
22}
23//****************************************************************************
24void TonleiterData::setCurrentScaleID(int id)
25{
26 if(id>=0 && id<noOfScales())
27 {
28 currentScaleID=id;
29 emit dataChange();
30 }
31}
32//****************************************************************************
33void TonleiterData::setCurrentNote(int id)
34{
35 if(id>=0 && id<12)
36 {
37 currentNote=id;
38 emit dataChange();
39 }
40}
41//****************************************************************************
42void TonleiterData::setDrawNames(bool dn)
43{
44 drawnames=dn;
45 emit dataChange();
46}
47//****************************************************************************
48void TonleiterData::loadData()
49{
50 QValueList<int> strings1;
51 strings1.append(Note::getNoteFromName("B",0));
52 strings1.append(Note::getNoteFromName("E",1));
53 strings1.append(Note::getNoteFromName("A",1));
54 strings1.append(Note::getNoteFromName("D",2));
55 strings1.append(Note::getNoteFromName("G",2));
56 strings1.append(Note::getNoteFromName("C",3));
57 instruments.append(Instrument("Thumb6",26,strings1));
58
59 QValueList<int> strings2;
60 strings2.append(Note::getNoteFromName("E",1));
61 strings2.append(Note::getNoteFromName("A",1));
62 strings2.append(Note::getNoteFromName("D",2));
63 strings2.append(Note::getNoteFromName("G",2));
64 instruments.append(Instrument("Bass 4",12,strings2));
65
66 currentInstrumentID=1;
67
68 QValueList<int> scale1;
69 scale1.append(0);
70 scale1.append(2);
71 scale1.append(3);
72 scale1.append(5);
73 scale1.append(7);
74 scale1.append(8);
75 scale1.append(10);
76 scales.append(Scale("Minor",scale1));
77
78 QValueList<int> scale2;
79 scale2.append(0);
80 scale2.append(2);
81 scale2.append(4);
82 scale2.append(5);
83 scale2.append(7);
84 scale2.append(9);
85 scale2.append(10);
86 scales.append(Scale("Major",scale2));
87
88 currentScaleID=0;
89
90 currentNote=Note::getNoteFromName("A",0);
91}
92//****************************************************************************
93void TonleiterData::saveData()
94{
95}
96//****************************************************************************
97int TonleiterData::noOfInstruments()
98{
99 return (int)instruments.count();
100}
101//****************************************************************************
102Instrument TonleiterData::getInstrument(int id)
103{
104 if(id>=0 && id<noOfInstruments())
105 return instruments[id];
106 else
107 {
108 qDebug("undefined insrtument %d of %d",id,instruments.count());
109 return Instrument();
110 }
111
112}
113//****************************************************************************
114int TonleiterData::getCurrentInstrumentID()
115{
116 return currentInstrumentID;
117}
118//****************************************************************************
119int TonleiterData::noOfScales()
120{
121 return (int)scales.count();
122}
123//****************************************************************************
124Scale TonleiterData::getScale(int id)
125{
126 if(id>=0 && id<noOfScales())
127 return scales[id];
128 else
129 {
130 qDebug("Undefined scale");
131 return Scale();
132 }
133}
134//****************************************************************************
135int TonleiterData::getCurrentScaleID()
136{
137 return currentScaleID;
138}
139//****************************************************************************
140int TonleiterData::getCurrentBaseNote()
141{
142 return currentNote;
143}
144//****************************************************************************
145bool TonleiterData::isDrawNames()
146{
147 return drawnames;
148}
149//****************************************************************************
150//****************************************************************************
151