Diffstat (limited to 'noncore/multimedia/tonleiter/tonleiterdata.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/tonleiter/tonleiterdata.cpp | 67 |
1 files changed, 25 insertions, 42 deletions
diff --git a/noncore/multimedia/tonleiter/tonleiterdata.cpp b/noncore/multimedia/tonleiter/tonleiterdata.cpp index e1ecb5a..946d4e3 100644 --- a/noncore/multimedia/tonleiter/tonleiterdata.cpp +++ b/noncore/multimedia/tonleiter/tonleiterdata.cpp @@ -1,143 +1,126 @@ #include "tonleiterdata.h" #include <qpe/config.h> +using namespace Data; + + TonleiterData::TonleiterData(QObject* parent) :QObject(parent) { drawnames=true; loadData(); } //**************************************************************************** TonleiterData::~TonleiterData() { saveData(); } //**************************************************************************** void TonleiterData::setCurrentInstrumetID(int id) { if(id>=0 && id<noOfInstruments()) { currentInstrumentID=id; emit dataChange(); } } //**************************************************************************** void TonleiterData::setCurrentScaleID(int id) { if(id>=0 && id<noOfScales()) { currentScaleID=id; emit dataChange(); } } //**************************************************************************** void TonleiterData::setCurrentNote(int id) { if(id>=0 && id<12) { currentNote=id; emit dataChange(); } } //**************************************************************************** void TonleiterData::setDrawNames(bool dn) { drawnames=dn; emit dataChange(); } //**************************************************************************** void TonleiterData::loadData() { -/* - QValueList<int> strings1; - strings1.append(Note::getNoteFromName("B",0)); - strings1.append(Note::getNoteFromName("E",1)); - strings1.append(Note::getNoteFromName("A",1)); - strings1.append(Note::getNoteFromName("D",2)); - strings1.append(Note::getNoteFromName("G",2)); - strings1.append(Note::getNoteFromName("C",3)); - instruments.append(Instrument("Thumb6",26,strings1)); - - QValueList<int> strings2; - strings2.append(Note::getNoteFromName("E",1)); - strings2.append(Note::getNoteFromName("A",1)); - strings2.append(Note::getNoteFromName("D",2)); - strings2.append(Note::getNoteFromName("G",2)); - instruments.append(Instrument("Bass 4",12,strings2)); - - currentInstrumentID=1; - - QValueList<int> scale1; - scale1.append(0); - scale1.append(2); - scale1.append(3); - scale1.append(5); - scale1.append(7); - scale1.append(8); - scale1.append(10); - scales.append(Scale("Minor",scale1)); - - QValueList<int> scale2; - scale2.append(0); - scale2.append(2); - scale2.append(4); - scale2.append(5); - scale2.append(7); - scale2.append(9); - scale2.append(10); - scales.append(Scale("Major",scale2)); + Config load("Tonleiter"); + if(!load.isValid()) + { + //write some default values + load.setGroup("General"); + load.writeEntry("currentInstrumentID",1); + load.writeEntry("currentNote",0); + load.writeEntry("currentScaleID",1); + load.writeEntry("drawnames",1); + load.setGroup("Instrument"); + load.writeEntry("Inst0","Thumb6;26;11;16;21;26;31;36;"); + load.writeEntry("Inst1","Bass 4;12;16;21;26;31;"); + load.writeEntry("noOfInstruments",2); + load.setGroup("Scale"); + load.writeEntry("Scale0","ionian;0;2;4;5;7;9;11;"); + load.writeEntry("Scale1","aeolian;0;2;3;5;7;8;10;"); + load.writeEntry("Scale2","dorian;0;2;3;5;7;9;10;"); + load.writeEntry("Scale3","phrygian;0;1;3;5;7;8;10;"); + load.writeEntry("Scale4","lydian;0;2;4;6;7;9;11;"); + load.writeEntry("Scale5","mixolyd.;0;2;4;5;7;9;10;"); + load.writeEntry("noOfScales",6); - currentScaleID=0; + } - currentNote=Note::getNoteFromName("A",0); -*/ - Config load("Tonleiter"); load.setGroup("General"); currentNote=load.readNumEntry("currentNote"); drawnames=load.readBoolEntry("drawnames"); currentInstrumentID=load.readNumEntry("currentInstrumentID"); currentScaleID=load.readNumEntry("currentScaleID"); load.setGroup("Instrument"); int noOfInstr=load.readNumEntry("noOfInstruments",0); for(int i=0;i<noOfInstr;i++) { QStringList instlist=load.readListEntry("Inst"+QString::number(i),';'); QValueList<int> strings; for(int st=2;st<(int)instlist.count();st++) strings.append(instlist[st].toInt()); instruments.append(Instrument(instlist[0],instlist[1].toInt(),strings)); } load.setGroup("Scale"); int scaleno=load.readNumEntry("noOfScales",0); for(int s=0;s<scaleno;s++) { QStringList scalelist=load.readListEntry("Scale"+QString::number(s),';'); QValueList<int> halftones; for(int ht=1;ht<(int)scalelist.count();ht++) halftones.append(scalelist[ht].toInt()); scales.append(Scale(scalelist[0],halftones)); } } //**************************************************************************** void TonleiterData::saveData() { Config save("Tonleiter"); save.setGroup("General"); save.writeEntry("currentNote",currentNote); save.writeEntry("drawnames",drawnames); save.writeEntry("currentInstrumentID",currentInstrumentID); save.writeEntry("currentScaleID",currentScaleID); save.setGroup("Instrument"); save.writeEntry("noOfInstruments",noOfInstruments()); for(int i=0;i<noOfInstruments();i++) { QStringList instlist; Instrument inst=getInstrument(i); instlist.append(inst.instName()); instlist.append(QString::number(inst.noOfFrets())); for(int st=0;st<inst.noOfStrings();st++) |