r177 - trunk/src/target/OM-2007/applications/openmoko-chordmaster

mickey at gta01.hmw-consulting.de mickey at gta01.hmw-consulting.de
Thu Nov 2 15:34:23 CET 2006


Author: mickey
Date: 2006-11-02 14:34:23 +0000 (Thu, 02 Nov 2006)
New Revision: 177

Modified:
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/accords.chords
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/chordsdb.c
Log:
chordmaster: read accord list from file


Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/accords.chords
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/accords.chords	2006-11-02 13:32:02 UTC (rev 176)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/accords.chords	2006-11-02 14:34:23 UTC (rev 177)
@@ -1,4 +1,3 @@
-KChordsFile
 CATEGORY=A
 A=002220
 A=577655
@@ -11,7 +10,6 @@
 A/D=x00220
 A/D=xx0220
 A/D=xx0655
-A/D=xx09109
 A/G=3x2220
 A/G=x02020
 A/G=x02223
@@ -20,22 +18,22 @@
 A/Gb=2x2220
 A/Gb=x04220
 A/Gb=xx2222
-A5 or A(no3rd)=577xx5
+A5=577xx5
 A9=x022x0
-A5 or A(no3rd)=577xx0
+A5=577xx0
 A6=002222
 A6=0x4220
 A6=2x2220
 A6=x04220
 A6=xx2222
 A6/7=002022
-A6/7sus or A6/7sus4=554030
-A6/7sus or A6/7sus4=x02032
+A6/7sus4=554030
+A6/7sus4=x02032
 A7=3x2220
 A7=x02020
 A7=x02223
 A7(#5)=103021
-A7/add11 or A7/11=x00020
+A7/add11=x00020
 A7sus4=x02030
 A7sus4=x02033
 A7sus4=x02233
@@ -48,12 +46,11 @@
 Ab=466544
 Ab#5=x32110
 Ab/A=xx1214
-Ab/F=x810898
+Ab/F=x81089
 Ab/F=xx1111
 Ab/Gb=xx1112
 Ab/Gb=xx4544
-Ab5 or Ab(no3rd)=466xx4
-Ab6=x810898
+Ab5=466xx4
 Ab6=xx1111
 Ab7=xx1112
 Ab7=xx4544
@@ -75,7 +72,7 @@
 Abm/E=xx1100
 Abm/Gb=xx4444
 Abm7=xx4444
-Absus or Absus4=xx6644
+Absus4=xx6644
 Absus2/F=x13141
 Adim/Ab=xx1214
 Adim/E=03x240
@@ -109,19 +106,19 @@
 Am7=x02010
 Am7=x02213
 Am7=x05558
-Am7(b5) or Ao7=xx1213
-Am7/add11 or Am7/11=x57580
-Amaj7 or A#7=x02120
+Am7(b5)=xx1213
+Am7/add11=x57580
+Amaj7=x02120
 Amin/maj9=x06557
-Asus or Asus4=002230
-Asus or Asus4=x02230
-Asus or Asus4=5577x0
-Asus or Asus4=x00230
-Asus2 or Aadd9(no3)=002200
-Asus2 or Aadd9(no3)=002400
-Asus2 or Aadd9(no3)=022200
-Asus2 or Aadd9(no3)=x02200
-Asus2 or Aadd9(no3)=xx2200
+Asus4=002230
+Asus4=x02230
+Asus4=5577x0
+Asus4=x00230
+Asus2=002200
+Asus2=002400
+Asus2=022200
+Asus2=x02200
+Asus2=xx2200
 Asus2/Ab=x02100
 Asus2/C=007500
 Asus2/C=x32200
@@ -144,7 +141,6 @@
 Asus4/Db=x00220
 Asus4/Db=xx0220
 Asus4/Db=xx0655
-Asus4/Db=xx09109
 Asus4/F=xx7760
 Asus4/G=x02030
 Asus4/G=x02033
@@ -157,122 +153,122 @@
 Asus4/Gb=xx2232
 Asus4/Gb=x54230
 Asus4/Gb=x977x0
-CATEGORY=H
-H=224442
-H=799877
-H#5=321003
-H#5=3x1003
-H/A=2x1202
-H/A=x01202
-H/A=x21202
-H/A=x24242
-H/Ab=xx4444
-H/E=x22442
-H/E=xx4440
-H5 or H(no3rd)=799xx2
-H5 or H(no3rd)=x244x2
-H6=xx4444
-H7=2x1202
-H7=x01202
-H7=x21202
-H7=x24242
-H7/add11 or H7/11=004440
-H7/add11 or H7/11=021202
-H7sus4=x04400
-H7sus4=x24252
-Haug/E=3x1000
-Haug/E=xx1000
-Hb=113331
-Hb=x13331
-Hb=xx0331
-Hb#5=xx0332
-Hbb5=xx03x0
-Hb/A=113231
-Hb/Ab=x13131
-Hb/Ab=xx3334
-Hb/Db=xx0666
-Hb/E=x13330
-Hb/G=353333
-Hb/G=xx3333
-Hb5 or Hb(no3rd)=688xx6
-Hb5 or Hb(no3rd)=x133x6
-Hb6=353333
-Hb6=xx3333
-Hb6/add9 or Hb6/9=x33333
-Hb7=x13131
-Hb7=xx3334
-Hb7sus4=x13141
-Hbadd#11=x13330
-Hbaug/E=2x4330
-Hbdim/C=x3x320
-Hbdim/D=xx0320
-Hbdim/G=x12020
-Hbdim/G=xx2323
-Hbdim/Gb=242322
-Hbdim/Gb=xx4320
-Hbdim7=x12020
-Hbdim7=xx2323
-Hbm=113321
-Hbm/Ab=x13121
-Hbm/D=xx0666
-Hbm/Gb=xx3322
-Hbm7=x13121
-Hbmaj7 or Hb#7=113231
-Hbmaj9 or Hb9(#7)=x33335
-Hbsus2 or Hbadd9(no3)=xx3311
-Hbsus2/G=x35363
-Hbsus4/Ab=x13141
-Hdim/A=x20201
-Hdim/A=xx0201
-Hdim/Ab=x20101
-Hdim/Ab=xx0101
-Hdim/Ab=xx3434
-Hdim/G=1x0003
-Hdim/G=320001
-Hdim/G=xx0001
-Hdim7=x20101
-Hdim7=xx0101
-Hdim7=xx3434
-Hm=224432
-Hm=x24432
-Hm=xx0432
-Hm/A=x04432
-Hm/A=x20202
-Hm/A=x20232
-Hm/A=x24232
-Hm/A=xx0202
-Hm/G=220003
-Hm/G=220033
-Hm/G=320002
-Hm/G=xx4433
-Hm7=x04432
-Hm7=x20202
-Hm7=x20232
-Hm7=x24232
-Hm7=xx0202
-Hm7(b5)=123231
-Hm7(b5)=x20201
-Hm7(b5)=xx0201
-Hm7/add11 or Hm7/11=002432
-Hm7/add11 or Hm7/11=020202
-Hmaj7/#11=x23342
-Hsus or Hsus4=799xx0
-Hsus or Hsus4=x244x0
-Hsus2 or Hadd9(no3)=x444x2
-Hsus2 or Hadd9(no3)=xx4422
-Hsus2/E=x444x0
-Hsus4/A=x04400
-Hsus4/A=x24252
-Hsus4/Ab=022102
-Hsus4/Ab=0x4100
-Hsus4/Ab=222100
-Hsus4/Db=x444x0
-Hsus4/Eb=x22442
-Hsus4/Eb=xx4440
-Hsus4/G=022002
-Hsus4/G=024000
-Hsus4/G=0x4000
-Hsus4/G=222000
+CATEGORY=B
+B=224442
+B=799877
+B#5=321003
+B#5=3x1003
+B/A=2x1202
+B/A=x01202
+B/A=x21202
+B/A=x24242
+B/Ab=xx4444
+B/E=x22442
+B/E=xx4440
+B5=799xx2
+B5=x244x2
+B6=xx4444
+B7=2x1202
+B7=x01202
+B7=x21202
+B7=x24242
+B7/add11=004440
+B7/add11=021202
+B7sus4=x04400
+B7sus4=x24252
+Baug/E=3x1000
+Baug/E=xx1000
+Bb=113331
+Bb=x13331
+Bb=xx0331
+Bb#5=xx0332
+Bbb5=xx03x0
+Bb/A=113231
+Bb/Ab=x13131
+Bb/Ab=xx3334
+Bb/Db=xx0666
+Bb/E=x13330
+Bb/G=353333
+Bb/G=xx3333
+Bb5=688xx6
+Bb5=x133x6
+Bb6=353333
+Bb6=xx3333
+Bb6/add9=x33333
+Bb7=x13131
+Bb7=xx3334
+Bb7sus4=x13141
+Bbadd#11=x13330
+Bbaug/E=2x4330
+Bbdim/C=x3x320
+Bbdim/D=xx0320
+Bbdim/G=x12020
+Bbdim/G=xx2323
+Bbdim/Gb=242322
+Bbdim/Gb=xx4320
+Bbdim7=x12020
+Bbdim7=xx2323
+Bbm=113321
+Bbm/Ab=x13121
+Bbm/D=xx0666
+Bbm/Gb=xx3322
+Bbm7=x13121
+Bbmaj7=113231
+Bbmaj9=x33335
+Bbsus2=xx3311
+Bbsus2/G=x35363
+Bbsus4/Ab=x13141
+Bdim/A=x20201
+Bdim/A=xx0201
+Bdim/Ab=x20101
+Bdim/Ab=xx0101
+Bdim/Ab=xx3434
+Bdim/G=1x0003
+Bdim/G=320001
+Bdim/G=xx0001
+Bdim7=x20101
+Bdim7=xx0101
+Bdim7=xx3434
+Bm=224432
+Bm=x24432
+Bm=xx0432
+Bm/A=x04432
+Bm/A=x20202
+Bm/A=x20232
+Bm/A=x24232
+Bm/A=xx0202
+Bm/G=220003
+Bm/G=220033
+Bm/G=320002
+Bm/G=xx4433
+Bm7=x04432
+Bm7=x20202
+Bm7=x20232
+Bm7=x24232
+Bm7=xx0202
+Bm7(b5)=123231
+Bm7(b5)=x20201
+Bm7(b5)=xx0201
+Bm7/add11=002432
+Bm7/add11=020202
+Bmaj7/#11=x23342
+Bsus4=799xx0
+Bsus4=x244x0
+Bsus2=x444x2
+Bsus2=xx4422
+Bsus2/E=x444x0
+Bsus4/A=x04400
+Bsus4/A=x24252
+Bsus4/Ab=022102
+Bsus4/Ab=0x4100
+Bsus4/Ab=222100
+Bsus4/Db=x444x0
+Bsus4/Eb=x22442
+Bsus4/Eb=xx4440
+Bsus4/G=022002
+Bsus4/G=024000
+Bsus4/G=0x4000
+Bsus4/G=222000
 CATEGORY=C
 C=032010
 C=035553
@@ -296,16 +292,16 @@
 C/D=x32033
 C/D=xx0010
 C/D=xx0553
-C/D=x101212130
+C/D=x10121
 C/D=x555x0
 C/F=x33010
 C/F=xx3010
-C5 or C(no3rd)=x355x3
+C5=x355x3
 C6=002013
 C6=x02010
 C6=x02213
 C6=x05558
-C6/add9 or C6/9=x57580
+C6/add9=x57580
 C7=x35353
 C7sus4=x35363
 C9(b5)=03x332
@@ -315,7 +311,6 @@
 Cadd9=x32033
 Cadd9=xx0010
 Cadd9=xx0553
-Cadd9=x101212130
 Cadd9=x32030
 Cadd9=x555x0
 Cdim/A=xx1212
@@ -329,16 +324,15 @@
 Cm/Bb=x35343
 Cm6=xx1213
 Cm7=x35343
-Cmaj7 or C#7=032000
-Cmaj7 or C#7=x22010
-Cmaj7 or C#7=x35453
-Cmaj9 or C9(#7)=x30000
-Csus or Csus4=x33011
-Csus or Csus4=xx3011
-Csus2 or Cadd9(no3)=x101212133
-Csus2 or Cadd9(no3)=x555x3
-Csus2 or Cadd9(no3)=x30033
-Csus2 or Cadd9(no3)=x35533
+Cmaj7=032000
+Cmaj7=x22010
+Cmaj7=x35453
+Cmaj9=x30000
+Csus4=x33011
+Csus4=xx3011
+Csus2=x555x3
+Csus2=x30033
+Csus2=x35533
 Csus2/A=x57583
 Csus2/A=xx0213
 Csus2/B=330003
@@ -349,7 +343,6 @@
 Csus2/E=x32033
 Csus2/E=xx0010
 Csus2/E=xx0553
-Csus2/E=x101212130
 Csus2/E=x555x0
 Csus2/F=330011
 Csus4/A=3x3211
@@ -375,7 +368,7 @@
 D/C=x00212
 D/C=x3x232
 D/C=x57575
-D/Db=xx0141414
+D/Db=xx0144
 D/Db=xx0222
 D/E=000232
 D/E=004230
@@ -386,15 +379,15 @@
 D/E=x977x0
 D/G=5x4035
 D/G=3x0232
-D5 or D(no3rd)=5577x5
-D5 or D(no3rd)=x00235
+D5=5577x5
+D5=x00235
 D6=x04432
 D6=x20202
 D6=x20232
 D6=x24232
 D6=xx0202
-D6/add9 or D6/9=002432
-D6/add9 or D6/9=020202
+D6/add9=002432
+D6/add9=020202
 D7=x57572
 D7=x00212
 D7=x3x232
@@ -413,19 +406,19 @@
 Dadd9=x54230
 Dadd9=x977x0
 Daug/E=2x4330
-Db or Dbmaj=446664
-Db or Dbmaj=x43121
-Db or Dbmaj=x46664
-Db or Dbmaj=xx3121
-Db or Dbmaj=xx6664
-Db#5 or Dbaug=x03221
-Db#5 or Dbaug=x0x221
-Dbb5=xx3021
+Db=446664
+Db=x43121
+Db=x46664
+Db=xx3121
+Db=xx6664
+Dbaug=x03221
+Dbaug=x0x221
+Dbaug=xx3021
 Db/B=x43404
 Db/Bb=x13121
 Db/C=x33121
 Db/C=x46564
-Db5 or Db(no3rd)=x466x4
+Db5=x466x4
 Db6=x13121
 Db7=x43404
 Dbaug/D=xx0221
@@ -448,10 +441,10 @@
 Dbm/B=x46454
 Dbm7=022120
 Dbm7=x46454
-Dbm7(b5) or Dbo7=022020
-Dbmaj7 or Db#7=x33121
-Dbmaj7 or Db#7=x46564
-Dbsus2 or Dbadd9(no3)=xx6644
+Dbm7(b5)=022020
+Dbmaj7=x33121
+Dbmaj7=x46564
+Dbsus2=xx6644
 Dbsus4/Bb=xx4324
 Ddim/B=x20101
 Ddim/B=xx0101
@@ -478,20 +471,19 @@
 Dm7=x57565
 Dm7=xx0211
 Dm7=xx0565
-Dm7(b5) or Do7=xx0111
-Dm7/add11 or Dm7/11=3x0211
-Dmaj7 or D#7=xx0141414
-Dmaj7 or D#7=xx0222
+Dm7(b5)=xx0111
+Dm7/add11=3x0211
+Dmaj7=xx0222
 Dmin/maj7=xx0221
-Dsus or Dsus4=5x0035
-Dsus or Dsus4=300033
-Dsus or Dsus4=x00033
-Dsus or Dsus4=xx0233
-Dsus2 or Dadd9(no3)=5577x0
-Dsus2 or Dadd9(no3)=x00230
-Dsus2 or Dadd9(no3)=002230
-Dsus2 or Dadd9(no3)=x02230
-Dsus2 or Dadd9(no3)=xx0230
+Dsus4=5x0035
+Dsus4=300033
+Dsus4=x00033
+Dsus4=xx0233
+Dsus2=5577x0
+Dsus2=x00230
+Dsus2=002230
+Dsus2=x02230
+Dsus2=xx0230
 Dsus2/Ab=4x0230
 Dsus2/B=020200
 Dsus2/B=x20230
@@ -501,7 +493,7 @@
 Dsus2/Db=x00220
 Dsus2/Db=xx0220
 Dsus2/Db=xx0655
-Dsus2/Db=xx09109
+Dsus2/Db=xx0910
 Dsus2/F=xx7760
 Dsus2/G=x02030
 Dsus2/G=x02033
@@ -525,7 +517,7 @@
 Dsus4/Gb=5x4035
 Dsus4/Gb=3x0232
 CATEGORY=E
-E or Emaj=022100
+E=022100
 E=x76450
 E#5=x32110
 E/A=x02100
@@ -542,16 +534,16 @@
 E/Gb=0x4100
 E/Gb=222100
 E11/b9=003434
-E5 or E(no3rd)=02xxx0
+E5=02xxx0
 E5=002100
-E5 or E(no3rd)=x799x0
+E5=x799x0
 E6=022120
 E6=x46454
 E7=020100
 E7=022130
 E7=x20130
 E7=xx0100
-E7/add11 or E7/11=x00100
+E7/add11=x00100
 E7/b9(b5)=013131
 E7sus4=020200
 E9=020102
@@ -559,18 +551,18 @@
 Eadd9=022102
 Eadd9=0x4100
 Eadd9=222100
-Eb or Ebmaj=x11343
-Eb or Ebmaj=xx1343
-Eb or Ebmaj=xx5343
-Eb#5 or Ebaug=321003
-Eb#5 or Ebaug=3x1003
+Eb=x11343
+Eb=xx1343
+Eb=xx5343
+Ebaug=321003
+Ebaug=3x1003
 Eb/C=x35343
 Eb/D=x68786
 Eb/Db=x11323
 Eb/Db=x68686
 Eb/Db=xx1323
 Eb/E=xx5340
-Eb5 or Eb(no3rd)=x688x6
+Eb5=x688x6
 Eb6=x35343
 Eb7=x11323
 Eb7=x68686
@@ -586,7 +578,7 @@
 Ebm=xx4342
 Ebm/Db=xx1322
 Ebm7=xx1322
-Ebmaj7 or Eb#7=x68786
+Ebmaj7=x68786
 Ebsus2/Ab=x13141
 Ebsus4/F=x13141
 Edim/C=x35353
@@ -609,11 +601,11 @@
 Em/D=020030
 Em/D=022030
 Em/D=022033
-Em/D=xx0121212
+Em/D=xx0121
 Em/D=xx0987
 Em/D=xx2433
 Em/D=0x0000
-Em/D=x101212120
+Em/D=x10121
 Em/Db=022020
 Em/Eb=3x1000
 Em/Eb=xx1000
@@ -627,33 +619,33 @@
 Em7=022030
 Em7=022033
 Em7=xx0000
-Em7=xx0121212
+Em7=xx0121
 Em7=xx0987
 Em7=xx2433
 Em7=0x0000
-Em7=x101212120
+Em7=x10121
 Em7(b5)=3x0330
-Em7/add11 or Em7/11=000000
-Em7/add11 or Em7/11=000003
-Em7/add11 or Em7/11=3x0200
+Em7/add11=000000
+Em7/add11=000003
+Em7/add11=3x0200
 Em9=020002
 Em9=020032
 Em9=220000
-Emaj7 or E#7=021100
-Emaj7 or E#7=0x6440
-Emaj7 or E#7=xx1100
-Emaj9 or E9(#7)=021102
-Emaj9 or E9(#7)=4x4440
+Emaj7=021100
+Emaj7=0x6440
+Emaj7=xx1100
+Emaj9=021102
+Emaj9=4x4440
 Emin/maj7=3x1000
 Emin/maj7=xx1000
 Emin/maj9=064000
-Esus or Esus4=002200
-Esus or Esus4=002400
-Esus or Esus4=022200
-Esus or Esus4=x02200
-Esus or Esus4=xx2200
-Esus2 or Eadd9(no3)=799xx0
-Esus2 or Eadd9(no3)=x244x0
+Esus4=002200
+Esus4=002400
+Esus4=022200
+Esus4=x02200
+Esus4=xx2200
+Esus2=799xx0
+Esus2=x244x0
 Esus2/A=x04400
 Esus2/A=x24252
 Esus2/Ab=022102
@@ -699,12 +691,11 @@
 F/Eb=xx3545
 F/G=3x3211
 F/G=xx3213
-F5 or F(no3rd)=133xx1
-F5 or F(no3rd)=x810xx1
+F5=133xx1
 F6=x57565
 F6=xx0211
 F6=xx0565
-F6/add9 or F6/9=3x0211
+F6/add9=3x0211
 F7=xx1211
 F7=xx3545
 Fadd9=3x3211
@@ -723,22 +714,21 @@
 Fm/D=xx0111
 Fm/Db=x33121
 Fm/Db=x46564
-Fm/Eb=x810898
+Fm/Eb=x81089
 Fm/Eb=xx1111
 Fm6=xx0111
-Fm7=x810898
 Fm7=xx1111
-Fmaj7 or F#7=003210
-Fmaj7 or F#7=133210
-Fmaj7 or F#7=1x2210
-Fmaj7 or F#7=xx2211
-Fmaj7 or F#7=xx3210
+Fmaj7=003210
+Fmaj7=133210
+Fmaj7=1x2210
+Fmaj7=xx2211
+Fmaj7=xx3210
 Fmaj7/#11=023210
 Fmaj7/#11=133200
-Fmaj9 or F9(#7)=003013
-Fsus or Fsus4=xx3311
-Fsus2 or Fadd9(no3)=x33011
-Fsus2 or Fadd9(no3)=xx3011
+Fmaj9=003013
+Fsus4=xx3311
+Fsus2=x33011
+Fsus2=xx3011
 Fsus2/A=3x3211
 Fsus2/A=xx3213
 Fsus2/B=x33003
@@ -752,7 +742,7 @@
 CATEGORY=G
 G=320003
 G/B=320033
-G or Gmaj=355433
+G=355433
 G=3x0003
 G=x55433
 G#5=321003
@@ -766,11 +756,11 @@
 G/E=020030
 G/E=022030
 G/E=022033
-G/E=xx0121212
+G/E=xx0121
 G/E=xx0987
 G/E=xx2433
 G/E=0x0000
-G/E=x101212120
+G/E=x10121
 G/F=1x0003
 G/F=320001
 G/F=xx0001
@@ -778,24 +768,24 @@
 G/Gb=220033
 G/Gb=320002
 G/Gb=xx4433
-G5 or G(no3rd)=355xx3
-G5 or G(no3rd)=3x0033
+G5=355xx3
+G5=3x0033
 G6=020000
 G6=320000
 G6=022030
 G6=022033
-G6=xx0121212
+G6=xx0121
 G6=xx0987
 G6=xx2433
 G6=0x0000
-G6=x101212120
-G6/add9 or G6/9=000000
-G6/add9 or G6/9=000003
-G6/add9 or G6/9=3x0200
+G6=x10121
+G6/add9=000000
+G6/add9=000003
+G6/add9=3x0200
 G7=1x0003
 G7=320001
 G7=xx0001
-G7/add11 or G7/11=x30001
+G7/add11=x30001
 G7sus4=330011
 G9=x00001
 G9=x23233
@@ -803,9 +793,9 @@
 Gadd9=320203
 Gaug/E=3x1000
 Gaug/E=xx1000
-Gb or Gbmaj=244322
-Gb or Gbmaj=x44322
-Gb or Gbmaj=xx4322
+Gb=244322
+Gb=x44322
+Gb=xx4322
 Gb#5=xx0332
 Gb/Ab=xx4324
 Gb/E=242322
@@ -813,12 +803,12 @@
 Gb/Eb=xx1322
 Gb/F=xx3322
 Gb6=xx1322
-Gb7 or Gbdom7=242322
-Gb7 or Gbdom7=xx4320
+Gb7=242322
+Gb7=xx4320
 Gb7(#5)=2x4330
 Gb7/#9=x04320
 Gb7sus4=x444x0
-Gbadd9 or Gb2=xx4324
+Gbadd9=xx4324
 Gbaug/E=2x4330
 Gbdim/D=x57572
 Gbdim/D=x00212
@@ -831,7 +821,7 @@
 Gbm=244222
 Gbm=x44222
 Gbm=xx4222
-Gbm/D=xx0141414
+Gbm/D=xx0141
 Gbm/D=xx0222
 Gbm/E=002222
 Gbm/E=0x4220
@@ -843,11 +833,11 @@
 Gbm7=2x2220
 Gbm7=x04220
 Gbm7=xx2222
-Gbm7(b5) or Gbo7=x02212
-Gbm7(b5) or Gbo7=xx2212
+Gbm7(b5)=x02212
+Gbm7(b5)=xx2212
 Gbm7/b9=002022
-Gbmaj7 or Gb#7=xx3322
-Gbsus or Gbsus4=x44422
+Gbmaj7=xx3322
+Gbsus4=x44422
 Gbsus2/Bb=xx4324
 Gbsus4/E=x444x0
 Gdim/E=x12020
@@ -867,20 +857,20 @@
 Gm6=3x0330
 Gm7=353333
 Gm7=xx3333
-Gm7/add11 or Gm7/11=x33333
+Gm7/add11=x33333
 Gm9=353335
-Gmaj7 or G#7=220003
-Gmaj7 or G#7=220033
-Gmaj7 or G#7=320002
-Gmaj7 or G#7=xx4433
-Gsus or Gsus4=x101212133
-Gsus or Gsus4=x30033
-Gsus or Gsus4=x35533
-Gsus or Gsus4=x55533
-Gsus2 or Gadd9(no3)=5x0035
-Gadd9(no3)=300033
-Gsus2 or Gadd9(no3)=x00033
-Gsus2 or Gadd9(no3)=xx0233
+Gmaj7=220003
+Gmaj7=220033
+Gmaj7=320002
+Gmaj7=xx4433
+Gsus4=x10121
+Gsus4=x30033
+Gsus4=x35533
+Gsus4=x55533
+Gsus2=5x0035
+Gadd9=300033
+Gsus2=x00033
+Gsus2=xx0233
 Gsus2/B=300003
 Gsus2/B=320203
 Gsus2/C=x57583
@@ -901,6 +891,6 @@
 Gsus4/E=x32033
 Gsus4/E=xx0010
 Gsus4/E=xx0553
-Gsus4/E=x101212130
+Gsus4/E=x10121
 Gsus4/E=x555x0
 Gsus4/F=330011

Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/chordsdb.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/chordsdb.c	2006-11-02 13:32:02 UTC (rev 176)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/chordsdb.c	2006-11-02 14:34:23 UTC (rev 177)
@@ -18,6 +18,8 @@
 
 #include "chordsdb.h"
 
+#include <stdio.h>
+
 G_DEFINE_TYPE (ChordsDB, chordsdb, G_TYPE_OBJECT);
 
 #define CHORDSDB_PRIVATE(o)     (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CHORDSDB, ChordsDBPrivate))
@@ -66,19 +68,29 @@
     object_class->dispose = chordsdb_dispose;
     object_class->finalize = chordsdb_finalize;
 
-    //FIXME read from chords file
-    klass->categories = g_slist_append( klass->categories, "C" );
-    klass->categories = g_slist_append( klass->categories, "D" );
-    klass->categories = g_slist_append( klass->categories, "E" );
-    klass->categories = g_slist_append( klass->categories, "F" );
-    klass->categories = g_slist_append( klass->categories, "G" );
-    klass->categories = g_slist_append( klass->categories, "A" );
-    klass->categories = g_slist_append( klass->categories, "B" );
-
-    //FIXME read from chords file
-    klass->chords = g_slist_append( klass->chords, chord_new( "A", "002220" ) );
-    klass->chords = g_slist_append( klass->chords, chord_new( "A", "577655" ) );
-    klass->chords = g_slist_append( klass->chords, chord_new( "A", "x02220" ) );
+    FILE* file = g_fopen( RESOURCE_PATH "accords.chords", "r" );
+    g_assert( file ); //FIXME error handling, if chord file is not present
+    gchar line[256];
+    gchar category[2] = { 0, 0 };
+    while( fgets(&line, sizeof(line), file) ) {
+        g_debug( "read line '%s'", &line );
+        if ( strncmp( "CATEGORY=", &line, 8 ) == 0 )
+        {
+            g_debug( "adding category %c", line[9] );
+            category[0] = line[9];
+            klass->categories = g_slist_append( klass->categories, strdup(&category) );
+        }
+        else
+        {
+            gchar* key = strtok( &line, "=\n" );
+            g_assert( key );
+            gchar* val = strtok( NULL, "=\n" );
+            g_assert( val );
+            g_debug( "adding chord '%s' = '%s'", key, val );
+            klass->chords = g_slist_append( klass->chords, chord_new( strdup(key), strdup(val) ) );
+        }
+    }
+    fclose( file );
 }
 
 static void





More information about the commitlog mailing list