-rw-r--r-- | noncore/multimedia/powerchord/fretboard.cpp | 16 | ||||
-rw-r--r-- | noncore/multimedia/powerchord/powerchordbase.cpp | 17 |
2 files changed, 16 insertions, 17 deletions
diff --git a/noncore/multimedia/powerchord/fretboard.cpp b/noncore/multimedia/powerchord/fretboard.cpp index bf78e4c..2e48f26 100644 --- a/noncore/multimedia/powerchord/fretboard.cpp +++ b/noncore/multimedia/powerchord/fretboard.cpp | |||
@@ -1,233 +1,231 @@ | |||
1 | // | 1 | // |
2 | // FretBoard class to display interface for chord finder application | 2 | // FretBoard class to display interface for chord finder application |
3 | // | 3 | // |
4 | 4 | ||
5 | // Copyright (c) 2001 Camilo Mesias | 5 | // Copyright (c) 2001 Camilo Mesias |
6 | // camilo@mesias.co.uk | 6 | // camilo@mesias.co.uk |
7 | // | 7 | // |
8 | // This program is free software; you can redistribute it and/or | 8 | // This program is free software; you can redistribute it and/or |
9 | // modify it under the terms of the GNU General Public License | 9 | // modify it under the terms of the GNU General Public License |
10 | // as published by the Free Software Foundation; either version 2 | 10 | // as published by the Free Software Foundation; either version 2 |
11 | // of the License, or (at your option) any later version. | 11 | // of the License, or (at your option) any later version. |
12 | // | 12 | // |
13 | // This program is distributed in the hope that it will be useful, | 13 | // This program is distributed in the hope that it will be useful, |
14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | // GNU General Public License for more details. | 16 | // GNU General Public License for more details. |
17 | // | 17 | // |
18 | // You should have received a copy of the GNU General Public License | 18 | // You should have received a copy of the GNU General Public License |
19 | // along with this program; if not, write to the Free Software | 19 | // along with this program; if not, write to the Free Software |
20 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 20 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 | 21 | ||
22 | //#include <FL/Fl.H> | ||
23 | //#include <FL/Fl_Widget.H> | ||
24 | //#include <FL/fl_draw.H> | ||
25 | #include <stdio.h> | ||
26 | #include <qpe/resource.h> | ||
27 | #include "fretboard.h" | 22 | #include "fretboard.h" |
23 | |||
24 | #include <opie2/oresource.h> | ||
25 | |||
28 | #include <qpainter.h> | 26 | #include <qpainter.h> |
29 | 27 | ||
30 | void FretBoard::refresh(){ | 28 | void FretBoard::refresh(){ |
31 | ce.calculate(); | 29 | ce.calculate(); |
32 | 30 | ||
33 | emit nameChanged(QString(ce.label())); | 31 | emit nameChanged(QString(ce.label())); |
34 | 32 | ||
35 | for (int i=0;i<6;i++){ | 33 | for (int i=0;i<6;i++){ |
36 | Finger(i, ce.finger(i)); | 34 | Finger(i, ce.finger(i)); |
37 | // yuk | 35 | // yuk |
38 | switch (i) { | 36 | switch (i) { |
39 | case 0: | 37 | case 0: |
40 | emit s1nameChanged(QString(ce.name(i))); | 38 | emit s1nameChanged(QString(ce.name(i))); |
41 | break; | 39 | break; |
42 | case 1: | 40 | case 1: |
43 | emit s2nameChanged(QString(ce.name(i))); | 41 | emit s2nameChanged(QString(ce.name(i))); |
44 | break; | 42 | break; |
45 | case 2: | 43 | case 2: |
46 | emit s3nameChanged(QString(ce.name(i))); | 44 | emit s3nameChanged(QString(ce.name(i))); |
47 | break; | 45 | break; |
48 | case 3: | 46 | case 3: |
49 | emit s4nameChanged(QString(ce.name(i))); | 47 | emit s4nameChanged(QString(ce.name(i))); |
50 | break; | 48 | break; |
51 | case 4: | 49 | case 4: |
52 | emit s5nameChanged(QString(ce.name(i))); | 50 | emit s5nameChanged(QString(ce.name(i))); |
53 | break; | 51 | break; |
54 | case 5: | 52 | case 5: |
55 | emit s6nameChanged(QString(ce.name(i))); | 53 | emit s6nameChanged(QString(ce.name(i))); |
56 | break; | 54 | break; |
57 | } | 55 | } |
58 | } | 56 | } |
59 | 57 | ||
60 | update(); | 58 | update(); |
61 | } | 59 | } |
62 | 60 | ||
63 | FretBoard::FretBoard(QWidget *parent, const char *name ) | 61 | FretBoard::FretBoard(QWidget *parent, const char *name ) |
64 | : QWidget( parent, name ), ce() | 62 | : QWidget( parent, name ), ce() |
65 | { | 63 | { |
66 | 64 | ||
67 | ce.base(9); | 65 | ce.base(9); |
68 | ce.chord(0); | 66 | ce.chord(0); |
69 | ce.fret(0); | 67 | ce.fret(0); |
70 | ce.span(1); | 68 | ce.span(1); |
71 | ce.vary(7); | 69 | ce.vary(7); |
72 | ce.tune(0); | 70 | ce.tune(0); |
73 | refresh(); | 71 | refresh(); |
74 | 72 | ||
75 | // setPalette( QPalette( QColor( 250, 250, 200) ) ); | 73 | // setPalette( QPalette( QColor( 250, 250, 200) ) ); |
76 | 74 | ||
77 | stringtop_pix = Resource::loadPixmap( "powerchord/stringtop_s"); | 75 | stringtop_pix = Opie::Core::OResource::loadPixmap( "powerchord/stringtop_s"); |
78 | string_pix = Resource::loadPixmap( "powerchord/string_s"); | 76 | string_pix = Opie::Core::OResource::loadPixmap( "powerchord/string_s"); |
79 | finger_pix = Resource::loadPixmap( "powerchord/justfing_s"); | 77 | finger_pix = Opie::Core::OResource::loadPixmap( "powerchord/justfing_s"); |
80 | mute_pix = Resource::loadPixmap( "powerchord/muted_s"); | 78 | mute_pix = Opie::Core::OResource::loadPixmap( "powerchord/muted_s"); |
81 | 79 | ||
82 | // box(FL_NO_BOX); | 80 | // box(FL_NO_BOX); |
83 | 81 | ||
84 | // finger[0] = OPEN; | 82 | // finger[0] = OPEN; |
85 | // finger[1] = OPEN; | 83 | // finger[1] = OPEN; |
86 | // finger[2] = OPEN; | 84 | // finger[2] = OPEN; |
87 | // finger[3] = OPEN; | 85 | // finger[3] = OPEN; |
88 | // finger[4] = OPEN; | 86 | // finger[4] = OPEN; |
89 | // finger[5] = OPEN; | 87 | // finger[5] = OPEN; |
90 | 88 | ||
91 | initial_fret = 0; | 89 | initial_fret = 0; |
92 | 90 | ||
93 | // label(FL_NORMAL_LABEL, "Chord"); | 91 | // label(FL_NORMAL_LABEL, "Chord"); |
94 | } | 92 | } |
95 | 93 | ||
96 | // int FretBoard::Finger(int f){ | 94 | // int FretBoard::Finger(int f){ |
97 | // if (f < 0 || f > 5){ | 95 | // if (f < 0 || f > 5){ |
98 | // fprintf(stderr, "Error - finger value was %d\n", f); | 96 | // fprintf(stderr, "Error - finger value was %d\n", f); |
99 | // return 0; | 97 | // return 0; |
100 | // } | 98 | // } |
101 | // return finger[f]; | 99 | // return finger[f]; |
102 | // } | 100 | // } |
103 | 101 | ||
104 | void FretBoard::Finger(int f, int position){ | 102 | void FretBoard::Finger(int f, int position){ |
105 | if (f < 0 || f > 5){ | 103 | if (f < 0 || f > 5){ |
106 | fprintf(stderr, "Error - finger2 value was %d\n", f); | 104 | fprintf(stderr, "Error - finger2 value was %d\n", f); |
107 | return; | 105 | return; |
108 | } | 106 | } |
109 | 107 | ||
110 | finger[f] = position; | 108 | finger[f] = position; |
111 | } | 109 | } |
112 | 110 | ||
113 | // void FretBoard::draw(void) { | 111 | // void FretBoard::draw(void) { |
114 | // draw_box(); | 112 | // draw_box(); |
115 | // draw_label(); | 113 | // draw_label(); |
116 | // } | 114 | // } |
117 | 115 | ||
118 | // void FretBoard::draw_label(void) { | 116 | // void FretBoard::draw_label(void) { |
119 | // align(FL_ALIGN_CENTER | FL_ALIGN_TOP | FL_ALIGN_WRAP); | 117 | // align(FL_ALIGN_CENTER | FL_ALIGN_TOP | FL_ALIGN_WRAP); |
120 | 118 | ||
121 | // this->Fl_Widget::draw_label(); | 119 | // this->Fl_Widget::draw_label(); |
122 | // } | 120 | // } |
123 | 121 | ||
124 | 122 | ||
125 | //void FretBoard::draw_box(void) { | 123 | //void FretBoard::draw_box(void) { |
126 | 124 | ||
127 | void FretBoard::paintEvent(QPaintEvent *){ | 125 | void FretBoard::paintEvent(QPaintEvent *){ |
128 | 126 | ||
129 | // fl_color(FL_WHITE); | 127 | // fl_color(FL_WHITE); |
130 | 128 | ||
131 | // Fl_Widget::draw_box(); | 129 | // Fl_Widget::draw_box(); |
132 | 130 | ||
133 | // fl_color(FL_BLACK); | 131 | // fl_color(FL_BLACK); |
134 | 132 | ||
135 | QPainter p( this ); | 133 | QPainter p( this ); |
136 | 134 | ||
137 | p.setBrush(black); | 135 | p.setBrush(black); |
138 | p.translate(0, 0); | 136 | p.translate(0, 0); |
139 | 137 | ||
140 | // draw each string | 138 | // draw each string |
141 | for (int f=0; f<=5; f++){ | 139 | for (int f=0; f<=5; f++){ |
142 | // draw a string starting from the highest visible fret | 140 | // draw a string starting from the highest visible fret |
143 | for (int pp=0; pp<=6; pp++){ | 141 | for (int pp=0; pp<=6; pp++){ |
144 | int this_fret = initial_fret + pp; | 142 | int this_fret = initial_fret + pp; |
145 | int cx = /* x() + */ 28*f; | 143 | int cx = /* x() + */ 28*f; |
146 | int cy = /* y() + */ pp*30; | 144 | int cy = /* y() + */ pp*30; |
147 | 145 | ||
148 | //fl_color(FL_WHITE); | 146 | //fl_color(FL_WHITE); |
149 | // fl_rectf(cx, cy, 24, 24); | 147 | // fl_rectf(cx, cy, 24, 24); |
150 | // p.setBrush(white); | 148 | // p.setBrush(white); |
151 | // p.setPen(NoPen); | 149 | // p.setPen(NoPen); |
152 | 150 | ||
153 | // p.drawRect( QRect(cx, cy, 24, 24) ); | 151 | // p.drawRect( QRect(cx, cy, 24, 24) ); |
154 | // fl_color(FL_BLACK); | 152 | // fl_color(FL_BLACK); |
155 | // p.setBrush(black); | 153 | // p.setBrush(black); |
156 | 154 | ||
157 | // p.setPen(black); | 155 | // p.setPen(black); |
158 | 156 | ||
159 | // draw the string unless at top | 157 | // draw the string unless at top |
160 | if (this_fret!=0){ | 158 | if (this_fret!=0){ |
161 | //fl_line(cx+12, cy, cx+12, cy+23); | 159 | //fl_line(cx+12, cy, cx+12, cy+23); |
162 | //p.drawLine(cx+12, cy, cx+12, cy+23); | 160 | //p.drawLine(cx+12, cy, cx+12, cy+23); |
163 | } | 161 | } |
164 | 162 | ||
165 | // draw mutes if at top | 163 | // draw mutes if at top |
166 | if (pp == 0 && | 164 | if (pp == 0 && |
167 | finger[f] == MUTED){ | 165 | finger[f] == MUTED){ |
168 | p.drawPixmap(cx,cy,mute_pix); | 166 | p.drawPixmap(cx,cy,mute_pix); |
169 | //fl_line(cx+4, cy+19, cx+19, cy+4); | 167 | //fl_line(cx+4, cy+19, cx+19, cy+4); |
170 | //p.drawLine(cx+4, cy+19, cx+19, cy+4); | 168 | //p.drawLine(cx+4, cy+19, cx+19, cy+4); |
171 | //fl_line(cx+5, cy+19, cx+20, cy+4); | 169 | //fl_line(cx+5, cy+19, cx+20, cy+4); |
172 | //p.drawLine(cx+5, cy+19, cx+20, cy+4); | 170 | //p.drawLine(cx+5, cy+19, cx+20, cy+4); |
173 | //fl_line(cx+4, cy+4, cx+19, cy+19); | 171 | //fl_line(cx+4, cy+4, cx+19, cy+19); |
174 | //p.drawLine(cx+4, cy+4, cx+19, cy+19); | 172 | //p.drawLine(cx+4, cy+4, cx+19, cy+19); |
175 | //fl_line(cx+5, cy+4, cx+20, cy+19); | 173 | //fl_line(cx+5, cy+4, cx+20, cy+19); |
176 | //p.drawLine(cx+5, cy+4, cx+20, cy+19); | 174 | //p.drawLine(cx+5, cy+4, cx+20, cy+19); |
177 | } | 175 | } |
178 | 176 | ||
179 | if (this_fret==0){ | 177 | if (this_fret==0){ |
180 | // above, blank | 178 | // above, blank |
181 | }else if(this_fret==1){ | 179 | }else if(this_fret==1){ |
182 | // top | 180 | // top |
183 | p.drawPixmap(cx,cy,stringtop_pix); | 181 | p.drawPixmap(cx,cy,stringtop_pix); |
184 | }else{ | 182 | }else{ |
185 | // normal | 183 | // normal |
186 | p.drawPixmap(cx,cy,string_pix); | 184 | p.drawPixmap(cx,cy,string_pix); |
187 | } | 185 | } |
188 | 186 | ||
189 | // frets at bottom | 187 | // frets at bottom |
190 | // thick line if at top | 188 | // thick line if at top |
191 | // int x0 = (f==0)?(cx+12):cx; | 189 | // int x0 = (f==0)?(cx+12):cx; |
192 | // int x1 = (f==5)?(cx+12):(cx+23); | 190 | // int x1 = (f==5)?(cx+12):(cx+23); |
193 | // for (int offset=23; offset>((this_fret==0)?20:22); offset--){ | 191 | // for (int offset=23; offset>((this_fret==0)?20:22); offset--){ |
194 | //fl_line(x0, cy+offset, x1, cy+offset); | 192 | //fl_line(x0, cy+offset, x1, cy+offset); |
195 | //p.drawLine(x0, cy+offset, x1, cy+offset); | 193 | //p.drawLine(x0, cy+offset, x1, cy+offset); |
196 | // } | 194 | // } |
197 | 195 | ||
198 | // finger if at that position | 196 | // finger if at that position |
199 | if ((initial_fret==0 && pp == finger[f]) || | 197 | if ((initial_fret==0 && pp == finger[f]) || |
200 | (initial_fret!=0 && pp == finger[f]-8)){ | 198 | (initial_fret!=0 && pp == finger[f]-8)){ |
201 | p.drawPixmap(cx,cy,finger_pix); | 199 | p.drawPixmap(cx,cy,finger_pix); |
202 | 200 | ||
203 | // fl_color(FL_WHITE); | 201 | // fl_color(FL_WHITE); |
204 | // p.setBrush(white); | 202 | // p.setBrush(white); |
205 | // p.setPen(NoPen); | 203 | // p.setPen(NoPen); |
206 | 204 | ||
207 | // fl_rectf(cx+4, cy+4, 16, 16); | 205 | // fl_rectf(cx+4, cy+4, 16, 16); |
208 | //p.drawRect( QRect(cx+4, cy+4, 16, 16)); | 206 | //p.drawRect( QRect(cx+4, cy+4, 16, 16)); |
209 | // fl_color(FL_BLACK); | 207 | // fl_color(FL_BLACK); |
210 | //p.setPen(black); | 208 | //p.setPen(black); |
211 | // fl_line(cx+4, cy+11, cx+7, cy+16); | 209 | // fl_line(cx+4, cy+11, cx+7, cy+16); |
212 | //p.drawLine(cx+4, cy+11, cx+7, cy+16); | 210 | //p.drawLine(cx+4, cy+11, cx+7, cy+16); |
213 | // fl_line(cx+7, cy+16, cx+12, cy+19); | 211 | // fl_line(cx+7, cy+16, cx+12, cy+19); |
214 | //p.drawLine(cx+7, cy+16, cx+12, cy+19); | 212 | //p.drawLine(cx+7, cy+16, cx+12, cy+19); |
215 | // fl_line(cx+12, cy+19, cx+16, cy+16); | 213 | // fl_line(cx+12, cy+19, cx+16, cy+16); |
216 | //p.drawLine(cx+12, cy+19, cx+16, cy+16); | 214 | //p.drawLine(cx+12, cy+19, cx+16, cy+16); |
217 | // fl_line(cx+16, cy+16, cx+19, cy+12); | 215 | // fl_line(cx+16, cy+16, cx+19, cy+12); |
218 | //p.drawLine(cx+16, cy+16, cx+19, cy+12); | 216 | //p.drawLine(cx+16, cy+16, cx+19, cy+12); |
219 | // fl_line(cx+19, cy+12, cx+16, cy+7); | 217 | // fl_line(cx+19, cy+12, cx+16, cy+7); |
220 | //p.drawLine(cx+19, cy+12, cx+16, cy+7); | 218 | //p.drawLine(cx+19, cy+12, cx+16, cy+7); |
221 | // fl_line(cx+16, cy+7, cx+12, cy+4); | 219 | // fl_line(cx+16, cy+7, cx+12, cy+4); |
222 | //p.drawLine(cx+16, cy+7, cx+12, cy+4); | 220 | //p.drawLine(cx+16, cy+7, cx+12, cy+4); |
223 | // fl_line(cx+11, cy+4, cx+7, cy+7); | 221 | // fl_line(cx+11, cy+4, cx+7, cy+7); |
224 | //p.drawLine(cx+11, cy+4, cx+7, cy+7); | 222 | //p.drawLine(cx+11, cy+4, cx+7, cy+7); |
225 | // fl_line(cx+7, cy+7, cx+4, cy+11); | 223 | // fl_line(cx+7, cy+7, cx+4, cy+11); |
226 | //p.drawLine(cx+7, cy+7, cx+4, cy+11); | 224 | //p.drawLine(cx+7, cy+7, cx+4, cy+11); |
227 | } | 225 | } |
228 | } | 226 | } |
229 | } | 227 | } |
230 | p.end(); | 228 | p.end(); |
231 | } | 229 | } |
232 | 230 | ||
233 | 231 | ||
diff --git a/noncore/multimedia/powerchord/powerchordbase.cpp b/noncore/multimedia/powerchord/powerchordbase.cpp index f0d1487..0efc4bd 100644 --- a/noncore/multimedia/powerchord/powerchordbase.cpp +++ b/noncore/multimedia/powerchord/powerchordbase.cpp | |||
@@ -1,431 +1,432 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** Form implementation generated from reading ui file 'powerchordbase.ui' | 2 | ** Form implementation generated from reading ui file 'powerchordbase.ui' |
3 | ** | 3 | ** |
4 | ** Created: Sun Jan 13 23:05:11 2002 | 4 | ** Created: Sun Jan 13 23:05:11 2002 |
5 | ** by: The User Interface Compiler (uic) | 5 | ** by: The User Interface Compiler (uic) |
6 | ** | 6 | ** |
7 | ** WARNING! All changes made in this file will be lost! | 7 | ** WARNING! All changes made in this file will be lost! |
8 | ****************************************************************************/ | 8 | ****************************************************************************/ |
9 | #include "powerchordbase.h" | 9 | #include "powerchordbase.h" |
10 | #include "fretboard.h" | 10 | #include "fretboard.h" |
11 | #include "vumeter.h" | 11 | #include "vumeter.h" |
12 | 12 | ||
13 | /* OPIE */ | 13 | /* OPIE */ |
14 | #include <opie2/odebug.h> | 14 | #include <opie2/odebug.h> |
15 | #include <qpe/resource.h> | 15 | #include <opie2/oresource.h> |
16 | using namespace Opie::Core; | 16 | using namespace Opie::Core; |
17 | 17 | ||
18 | /* QT */ | 18 | /* QT */ |
19 | #include <qbitmap.h> | ||
19 | #include <qcombobox.h> | 20 | #include <qcombobox.h> |
20 | #include <qlabel.h> | 21 | #include <qlabel.h> |
21 | #include <qlistbox.h> | 22 | #include <qlistbox.h> |
22 | #include <qpushbutton.h> | 23 | #include <qpushbutton.h> |
23 | #include <qspinbox.h> | 24 | #include <qspinbox.h> |
24 | #include <qtabwidget.h> | 25 | #include <qtabwidget.h> |
25 | #include <qlayout.h> | 26 | #include <qlayout.h> |
26 | #include <qtooltip.h> | 27 | #include <qtooltip.h> |
27 | 28 | ||
28 | /* | 29 | /* |
29 | * Constructs a PowerchordBase which is a child of 'parent', with the | 30 | * Constructs a PowerchordBase which is a child of 'parent', with the |
30 | * name 'name' and widget flags set to 'f' | 31 | * name 'name' and widget flags set to 'f' |
31 | */ | 32 | */ |
32 | PowerchordBase::PowerchordBase( QWidget* parent, const char* name, WFlags fl ) | 33 | PowerchordBase::PowerchordBase( QWidget* parent, const char* name, WFlags fl ) |
33 | : QWidget( parent, name, fl ) | 34 | : QWidget( parent, name, fl ) |
34 | { | 35 | { |
35 | simulation_timer = 0; | 36 | simulation_timer = 0; |
36 | audio_timer = 0; | 37 | audio_timer = 0; |
37 | 38 | ||
38 | // setPalette( QPalette( QColor( 232, 227, 215) ) ); | 39 | // setPalette( QPalette( QColor( 232, 227, 215) ) ); |
39 | 40 | ||
40 | // QPixmap image0(QString("/opt/Qtopia/pics/powerchord/image0")); | 41 | // QPixmap image0(QString("/opt/Qtopia/pics/powerchord/image0")); |
41 | QPixmap image1 = Resource::loadPixmap( "powerchord/image1"); | 42 | QPixmap image1 = Opie::Core::OResource::loadPixmap( "powerchord/image1"); |
42 | QPixmap image2 = Resource::loadPixmap( "powerchord/image2"); | 43 | QPixmap image2 = Opie::Core::OResource::loadPixmap( "powerchord/image2"); |
43 | QPixmap image3 = Resource::loadPixmap( "powerchord/image3"); | 44 | QPixmap image3 = Opie::Core::OResource::loadPixmap( "powerchord/image3"); |
44 | QPixmap image4 = Resource::loadPixmap( "powerchord/image4"); | 45 | QPixmap image4 = Opie::Core::OResource::loadPixmap( "powerchord/image4"); |
45 | QPixmap image5 = Resource::loadPixmap( "powerchord/image5"); | 46 | QPixmap image5 = Opie::Core::OResource::loadPixmap( "powerchord/image5"); |
46 | image6 = Resource::loadPixmap( "powerchord/image6"); | 47 | image6 = Opie::Core::OResource::loadPixmap( "powerchord/image6"); |
47 | image_open = Resource::loadPixmap( "powerchord/image_open"); | 48 | image_open = Opie::Core::OResource::loadPixmap( "powerchord/image_open"); |
48 | 49 | ||
49 | // image0.setMask(image0.createHeuristicMask()); | 50 | // image0.setMask(image0.createHeuristicMask()); |
50 | image1.setMask(image1.createHeuristicMask()); | 51 | image1.setMask(image1.createHeuristicMask()); |
51 | // image2.setMask(image2.createHeuristicMask()); | 52 | // image2.setMask(image2.createHeuristicMask()); |
52 | // image3.setMask(image3.createHeuristicMask()); | 53 | // image3.setMask(image3.createHeuristicMask()); |
53 | // image4.setMask(image4.createHeuristicMask()); | 54 | // image4.setMask(image4.createHeuristicMask()); |
54 | // image5.setMask(image5.createHeuristicMask()); | 55 | // image5.setMask(image5.createHeuristicMask()); |
55 | // image6->setMask(image6->createHeuristicMask()); | 56 | // image6->setMask(image6->createHeuristicMask()); |
56 | // image_open->setMask(image_open->createHeuristicMask()); | 57 | // image_open->setMask(image_open->createHeuristicMask()); |
57 | 58 | ||
58 | if ( !name ) | 59 | if ( !name ) |
59 | setName( "PowerchordBase" ); | 60 | setName( "PowerchordBase" ); |
60 | resize( 240, 284 ); | 61 | resize( 240, 284 ); |
61 | setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, sizePolicy().hasHeightForWidth() ) ); | 62 | setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, sizePolicy().hasHeightForWidth() ) ); |
62 | setMinimumSize( QSize( 240, 284 ) ); | 63 | setMinimumSize( QSize( 240, 284 ) ); |
63 | setMaximumSize( QSize( 240, 284 ) ); | 64 | setMaximumSize( QSize( 240, 284 ) ); |
64 | setCaption( tr( "Powerchord" ) ); | 65 | setCaption( tr( "Powerchord" ) ); |
65 | 66 | ||
66 | tabs = new QTabWidget( this, "tabs" ); | 67 | tabs = new QTabWidget( this, "tabs" ); |
67 | tabs->setEnabled( TRUE ); | 68 | tabs->setEnabled( TRUE ); |
68 | tabs->setGeometry( QRect( 0, 0, 240, 286 ) ); | 69 | tabs->setGeometry( QRect( 0, 0, 240, 286 ) ); |
69 | tabs->setTabPosition( QTabWidget::Bottom ); | 70 | tabs->setTabPosition( QTabWidget::Bottom ); |
70 | 71 | ||
71 | tab = new QWidget( tabs, "tab" ); | 72 | tab = new QWidget( tabs, "tab" ); |
72 | 73 | ||
73 | chordkey = new QComboBox( FALSE, tab, "chordkey" ); | 74 | chordkey = new QComboBox( FALSE, tab, "chordkey" ); |
74 | chordkey->insertItem( tr( "maj" ) ); | 75 | chordkey->insertItem( tr( "maj" ) ); |
75 | chordkey->insertItem( tr( "min" ) ); | 76 | chordkey->insertItem( tr( "min" ) ); |
76 | chordkey->insertItem( tr( "7th" ) ); | 77 | chordkey->insertItem( tr( "7th" ) ); |
77 | chordkey->insertItem( tr( "m7" ) ); | 78 | chordkey->insertItem( tr( "m7" ) ); |
78 | chordkey->insertItem( tr( "maj7" ) ); | 79 | chordkey->insertItem( tr( "maj7" ) ); |
79 | chordkey->insertItem( tr( "6th" ) ); | 80 | chordkey->insertItem( tr( "6th" ) ); |
80 | chordkey->insertItem( tr( "m6th" ) ); | 81 | chordkey->insertItem( tr( "m6th" ) ); |
81 | chordkey->insertItem( tr( "aug" ) ); | 82 | chordkey->insertItem( tr( "aug" ) ); |
82 | chordkey->insertItem( tr( "dim" ) ); | 83 | chordkey->insertItem( tr( "dim" ) ); |
83 | chordkey->insertItem( tr( "sus4" ) ); | 84 | chordkey->insertItem( tr( "sus4" ) ); |
84 | chordkey->insertItem( tr( "7sus4" ) ); | 85 | chordkey->insertItem( tr( "7sus4" ) ); |
85 | chordkey->insertItem( tr( "9th" ) ); | 86 | chordkey->insertItem( tr( "9th" ) ); |
86 | chordkey->insertItem( tr( "add9" ) ); | 87 | chordkey->insertItem( tr( "add9" ) ); |
87 | chordkey->insertItem( tr( "m9th" ) ); | 88 | chordkey->insertItem( tr( "m9th" ) ); |
88 | chordkey->insertItem( tr( "maj9" ) ); | 89 | chordkey->insertItem( tr( "maj9" ) ); |
89 | chordkey->insertItem( tr( "sus2" ) ); | 90 | chordkey->insertItem( tr( "sus2" ) ); |
90 | chordkey->insertItem( tr( "7sus2" ) ); | 91 | chordkey->insertItem( tr( "7sus2" ) ); |
91 | chordkey->insertItem( tr( "11th" ) ); | 92 | chordkey->insertItem( tr( "11th" ) ); |
92 | chordkey->insertItem( tr( "m11th" ) ); | 93 | chordkey->insertItem( tr( "m11th" ) ); |
93 | chordkey->insertItem( tr( "13th" ) ); | 94 | chordkey->insertItem( tr( "13th" ) ); |
94 | chordkey->insertItem( tr( "m13th" ) ); | 95 | chordkey->insertItem( tr( "m13th" ) ); |
95 | chordkey->insertItem( tr( "maj13" ) ); | 96 | chordkey->insertItem( tr( "maj13" ) ); |
96 | chordkey->insertItem( tr( "6/9" ) ); | 97 | chordkey->insertItem( tr( "6/9" ) ); |
97 | chordkey->insertItem( tr( "flat5" ) ); | 98 | chordkey->insertItem( tr( "flat5" ) ); |
98 | chordkey->insertItem( tr( "7#9" ) ); | 99 | chordkey->insertItem( tr( "7#9" ) ); |
99 | chordkey->insertItem( tr( QString::fromUtf8( "ø7" ) ) ); | 100 | chordkey->insertItem( tr( QString::fromUtf8( "ø7" ) ) ); |
100 | chordkey->insertItem( tr( "5" ) ); | 101 | chordkey->insertItem( tr( "5" ) ); |
101 | chordkey->setGeometry( QRect( 40, 0, 51, 21 ) ); | 102 | chordkey->setGeometry( QRect( 40, 0, 51, 21 ) ); |
102 | 103 | ||
103 | chordfret = new QComboBox( FALSE, tab, "chordfret" ); | 104 | chordfret = new QComboBox( FALSE, tab, "chordfret" ); |
104 | chordfret->insertItem( tr( "open" ) ); | 105 | chordfret->insertItem( tr( "open" ) ); |
105 | chordfret->insertItem( tr( "1st" ) ); | 106 | chordfret->insertItem( tr( "1st" ) ); |
106 | chordfret->insertItem( tr( "2nd" ) ); | 107 | chordfret->insertItem( tr( "2nd" ) ); |
107 | chordfret->insertItem( tr( "3rd" ) ); | 108 | chordfret->insertItem( tr( "3rd" ) ); |
108 | chordfret->insertItem( tr( "4th" ) ); | 109 | chordfret->insertItem( tr( "4th" ) ); |
109 | chordfret->insertItem( tr( "5th" ) ); | 110 | chordfret->insertItem( tr( "5th" ) ); |
110 | chordfret->insertItem( tr( "6th" ) ); | 111 | chordfret->insertItem( tr( "6th" ) ); |
111 | chordfret->insertItem( tr( "7th" ) ); | 112 | chordfret->insertItem( tr( "7th" ) ); |
112 | chordfret->insertItem( tr( "8th" ) ); | 113 | chordfret->insertItem( tr( "8th" ) ); |
113 | chordfret->insertItem( tr( "9th" ) ); | 114 | chordfret->insertItem( tr( "9th" ) ); |
114 | chordfret->insertItem( tr( "10th" ) ); | 115 | chordfret->insertItem( tr( "10th" ) ); |
115 | chordfret->insertItem( tr( "11th" ) ); | 116 | chordfret->insertItem( tr( "11th" ) ); |
116 | chordfret->insertItem( tr( "12th" ) ); | 117 | chordfret->insertItem( tr( "12th" ) ); |
117 | chordfret->insertItem( tr( "13th" ) ); | 118 | chordfret->insertItem( tr( "13th" ) ); |
118 | chordfret->insertItem( tr( "14th" ) ); | 119 | chordfret->insertItem( tr( "14th" ) ); |
119 | chordfret->insertItem( tr( "15th" ) ); | 120 | chordfret->insertItem( tr( "15th" ) ); |
120 | chordfret->insertItem( tr( "16th" ) ); | 121 | chordfret->insertItem( tr( "16th" ) ); |
121 | chordfret->setGeometry( QRect( 90, 0, 55, 21 ) ); //cxm less 5 width | 122 | chordfret->setGeometry( QRect( 90, 0, 55, 21 ) ); //cxm less 5 width |
122 | 123 | ||
123 | chordnote = new QComboBox( FALSE, tab, "chordnote" ); | 124 | chordnote = new QComboBox( FALSE, tab, "chordnote" ); |
124 | chordnote->insertItem( tr( "C" ) ); | 125 | chordnote->insertItem( tr( "C" ) ); |
125 | chordnote->insertItem( tr( "C#" ) ); | 126 | chordnote->insertItem( tr( "C#" ) ); |
126 | chordnote->insertItem( tr( "D" ) ); | 127 | chordnote->insertItem( tr( "D" ) ); |
127 | chordnote->insertItem( tr( "Eb" ) ); | 128 | chordnote->insertItem( tr( "Eb" ) ); |
128 | chordnote->insertItem( tr( "E" ) ); | 129 | chordnote->insertItem( tr( "E" ) ); |
129 | chordnote->insertItem( tr( "F" ) ); | 130 | chordnote->insertItem( tr( "F" ) ); |
130 | chordnote->insertItem( tr( "F#" ) ); | 131 | chordnote->insertItem( tr( "F#" ) ); |
131 | chordnote->insertItem( tr( "G" ) ); | 132 | chordnote->insertItem( tr( "G" ) ); |
132 | chordnote->insertItem( tr( "G#" ) ); | 133 | chordnote->insertItem( tr( "G#" ) ); |
133 | chordnote->insertItem( tr( "A" ) ); | 134 | chordnote->insertItem( tr( "A" ) ); |
134 | chordnote->insertItem( tr( "Bb" ) ); | 135 | chordnote->insertItem( tr( "Bb" ) ); |
135 | chordnote->insertItem( tr( "B" ) ); | 136 | chordnote->insertItem( tr( "B" ) ); |
136 | chordnote->setGeometry( QRect( 0, 0, 40, 21 ) ); | 137 | chordnote->setGeometry( QRect( 0, 0, 40, 21 ) ); |
137 | chordnote->setCurrentItem( 9 ); | 138 | chordnote->setCurrentItem( 9 ); |
138 | 139 | ||
139 | QWidget* privateLayoutWidget = new QWidget( tab, "Layout1" ); | 140 | QWidget* privateLayoutWidget = new QWidget( tab, "Layout1" ); |
140 | privateLayoutWidget->setGeometry( QRect( 5, 232, 160, 20 ) ); | 141 | privateLayoutWidget->setGeometry( QRect( 5, 232, 160, 20 ) ); |
141 | Layout1 = new QHBoxLayout( privateLayoutWidget ); | 142 | Layout1 = new QHBoxLayout( privateLayoutWidget ); |
142 | Layout1->setSpacing( 6 ); | 143 | Layout1->setSpacing( 6 ); |
143 | Layout1->setMargin( 0 ); | 144 | Layout1->setMargin( 0 ); |
144 | 145 | ||
145 | s1_1 = new QLabel( privateLayoutWidget, "s1_1" ); | 146 | s1_1 = new QLabel( privateLayoutWidget, "s1_1" ); |
146 | s1_1->setText( tr( "E" ) ); | 147 | s1_1->setText( tr( "E" ) ); |
147 | s1_1->setAlignment( int( QLabel::AlignCenter ) ); | 148 | s1_1->setAlignment( int( QLabel::AlignCenter ) ); |
148 | Layout1->addWidget( s1_1 ); | 149 | Layout1->addWidget( s1_1 ); |
149 | 150 | ||
150 | s1_2 = new QLabel( privateLayoutWidget, "s1_2" ); | 151 | s1_2 = new QLabel( privateLayoutWidget, "s1_2" ); |
151 | s1_2->setText( tr( "A" ) ); | 152 | s1_2->setText( tr( "A" ) ); |
152 | s1_2->setAlignment( int( QLabel::AlignCenter ) ); | 153 | s1_2->setAlignment( int( QLabel::AlignCenter ) ); |
153 | Layout1->addWidget( s1_2 ); | 154 | Layout1->addWidget( s1_2 ); |
154 | 155 | ||
155 | s1_3 = new QLabel( privateLayoutWidget, "s1_3" ); | 156 | s1_3 = new QLabel( privateLayoutWidget, "s1_3" ); |
156 | s1_3->setText( tr( "E" ) ); | 157 | s1_3->setText( tr( "E" ) ); |
157 | s1_3->setAlignment( int( QLabel::AlignCenter ) ); | 158 | s1_3->setAlignment( int( QLabel::AlignCenter ) ); |
158 | Layout1->addWidget( s1_3 ); | 159 | Layout1->addWidget( s1_3 ); |
159 | 160 | ||
160 | s1_4 = new QLabel( privateLayoutWidget, "s1_4" ); | 161 | s1_4 = new QLabel( privateLayoutWidget, "s1_4" ); |
161 | s1_4->setText( tr( "A" ) ); | 162 | s1_4->setText( tr( "A" ) ); |
162 | s1_4->setAlignment( int( QLabel::AlignCenter ) ); | 163 | s1_4->setAlignment( int( QLabel::AlignCenter ) ); |
163 | Layout1->addWidget( s1_4 ); | 164 | Layout1->addWidget( s1_4 ); |
164 | 165 | ||
165 | s1_5 = new QLabel( privateLayoutWidget, "s1_5" ); | 166 | s1_5 = new QLabel( privateLayoutWidget, "s1_5" ); |
166 | s1_5->setText( tr( "C#" ) ); | 167 | s1_5->setText( tr( "C#" ) ); |
167 | s1_5->setAlignment( int( QLabel::AlignCenter ) ); | 168 | s1_5->setAlignment( int( QLabel::AlignCenter ) ); |
168 | Layout1->addWidget( s1_5 ); | 169 | Layout1->addWidget( s1_5 ); |
169 | 170 | ||
170 | s1_6 = new QLabel( privateLayoutWidget, "s1_6" ); | 171 | s1_6 = new QLabel( privateLayoutWidget, "s1_6" ); |
171 | s1_6->setText( tr( "E" ) ); | 172 | s1_6->setText( tr( "E" ) ); |
172 | s1_6->setAlignment( int( QLabel::AlignCenter ) ); | 173 | s1_6->setAlignment( int( QLabel::AlignCenter ) ); |
173 | Layout1->addWidget( s1_6 ); | 174 | Layout1->addWidget( s1_6 ); |
174 | 175 | ||
175 | // sound_label = new QLabel( tab, "sound_label" ); | 176 | // sound_label = new QLabel( tab, "sound_label" ); |
176 | // sound_label->setGeometry( QRect( 185, 160, 32, 17 ) ); | 177 | // sound_label->setGeometry( QRect( 185, 160, 32, 17 ) ); |
177 | // sound_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, sound_label->sizePolicy().hasHeightForWidth() ) ); | 178 | // sound_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, sound_label->sizePolicy().hasHeightForWidth() ) ); |
178 | // sound_label->setPixmap( image0 ); | 179 | // sound_label->setPixmap( image0 ); |
179 | // sound_label->pixmap()->setMask(*image0.mask()); | 180 | // sound_label->pixmap()->setMask(*image0.mask()); |
180 | // sound_label->setScaledContents( TRUE ); | 181 | // sound_label->setScaledContents( TRUE ); |
181 | // sound_label->setBackgroundMode( QWidget::PaletteButton ); | 182 | // sound_label->setBackgroundMode( QWidget::PaletteButton ); |
182 | // sound_label->setBackgroundColor(this->backgroundColor()); | 183 | // sound_label->setBackgroundColor(this->backgroundColor()); |
183 | // sound_label->setPalette( QPalette( QColor( 232, 227, 215) ) ); | 184 | // sound_label->setPalette( QPalette( QColor( 232, 227, 215) ) ); |
184 | 185 | ||
185 | 186 | ||
186 | Frame6 = new QFrame( tab, "Frame6" ); | 187 | Frame6 = new QFrame( tab, "Frame6" ); |
187 | Frame6->setGeometry( QRect( 170, 145, 66, 10 ) ); | 188 | Frame6->setGeometry( QRect( 170, 145, 66, 10 ) ); |
188 | Frame6->setFrameShape( QFrame::HLine ); | 189 | Frame6->setFrameShape( QFrame::HLine ); |
189 | Frame6->setFrameShadow( QFrame::Raised ); | 190 | Frame6->setFrameShadow( QFrame::Raised ); |
190 | 191 | ||
191 | chordshow_label = new QLabel( tab, "chordshow_label" ); | 192 | chordshow_label = new QLabel( tab, "chordshow_label" ); |
192 | chordshow_label->setGeometry( QRect( 185, 60, 32, 17 ) ); | 193 | chordshow_label->setGeometry( QRect( 185, 60, 32, 17 ) ); |
193 | // chordshow_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, chordshow_label->sizePolicy().hasHeightForWidth() ) ); | 194 | // chordshow_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, chordshow_label->sizePolicy().hasHeightForWidth() ) ); |
194 | chordshow_label->setFrameShape( QLabel::NoFrame ); | 195 | chordshow_label->setFrameShape( QLabel::NoFrame ); |
195 | chordshow_label->setPixmap( image1 ); | 196 | chordshow_label->setPixmap( image1 ); |
196 | chordshow_label->setScaledContents( TRUE ); | 197 | chordshow_label->setScaledContents( TRUE ); |
197 | // chordshow_label->setBackgroundMode( QWidget::PaletteButton ); | 198 | // chordshow_label->setBackgroundMode( QWidget::PaletteButton ); |
198 | 199 | ||
199 | transport_rec = new QPushButton( tab, "transport_rec" ); | 200 | transport_rec = new QPushButton( tab, "transport_rec" ); |
200 | transport_rec->setGeometry( QRect( 170, 80, 30, 30 ) ); | 201 | transport_rec->setGeometry( QRect( 170, 80, 30, 30 ) ); |
201 | transport_rec->setText( "" ); | 202 | transport_rec->setText( "" ); |
202 | transport_rec->setPixmap( image2 ); | 203 | transport_rec->setPixmap( image2 ); |
203 | 204 | ||
204 | play_sound = new QPushButton( tab, "play_sound" ); | 205 | play_sound = new QPushButton( tab, "play_sound" ); |
205 | play_sound->setGeometry( QRect( 170, 180, 60, 55 ) ); | 206 | play_sound->setGeometry( QRect( 170, 180, 60, 55 ) ); |
206 | play_sound->setText( "" ); | 207 | play_sound->setText( "" ); |
207 | play_sound->setPixmap( image3 ); | 208 | play_sound->setPixmap( image3 ); |
208 | 209 | ||
209 | Frame6_2 = new QFrame( tab, "Frame6_2" ); | 210 | Frame6_2 = new QFrame( tab, "Frame6_2" ); |
210 | Frame6_2->setGeometry( QRect( 170, 45, 66, 10 ) ); | 211 | Frame6_2->setGeometry( QRect( 170, 45, 66, 10 ) ); |
211 | Frame6_2->setFrameShape( QFrame::HLine ); | 212 | Frame6_2->setFrameShape( QFrame::HLine ); |
212 | Frame6_2->setFrameShadow( QFrame::Raised ); | 213 | Frame6_2->setFrameShadow( QFrame::Raised ); |
213 | 214 | ||
214 | transport_play = new QPushButton( tab, "transport_play" ); | 215 | transport_play = new QPushButton( tab, "transport_play" ); |
215 | transport_play->setEnabled( FALSE ); | 216 | transport_play->setEnabled( FALSE ); |
216 | transport_play->setGeometry( QRect( 200, 80, 30, 30 ) ); | 217 | transport_play->setGeometry( QRect( 200, 80, 30, 30 ) ); |
217 | transport_play->setText( "" ); | 218 | transport_play->setText( "" ); |
218 | transport_play->setPixmap( image3 ); | 219 | transport_play->setPixmap( image3 ); |
219 | 220 | ||
220 | transport_rew = new QPushButton( tab, "transport_rew" ); | 221 | transport_rew = new QPushButton( tab, "transport_rew" ); |
221 | transport_rew->setEnabled( FALSE ); | 222 | transport_rew->setEnabled( FALSE ); |
222 | transport_rew->setGeometry( QRect( 170, 110, 30, 30 ) ); | 223 | transport_rew->setGeometry( QRect( 170, 110, 30, 30 ) ); |
223 | transport_rew->setText( "" ); | 224 | transport_rew->setText( "" ); |
224 | transport_rew->setPixmap( image4 ); | 225 | transport_rew->setPixmap( image4 ); |
225 | 226 | ||
226 | transport_fwd = new QPushButton( tab, "transport_fwd" ); | 227 | transport_fwd = new QPushButton( tab, "transport_fwd" ); |
227 | transport_fwd->setEnabled( FALSE ); | 228 | transport_fwd->setEnabled( FALSE ); |
228 | transport_fwd->setGeometry( QRect( 200, 110, 30, 30 ) ); | 229 | transport_fwd->setGeometry( QRect( 200, 110, 30, 30 ) ); |
229 | transport_fwd->setText( "" ); | 230 | transport_fwd->setText( "" ); |
230 | transport_fwd->setPixmap( image5 ); | 231 | transport_fwd->setPixmap( image5 ); |
231 | 232 | ||
232 | chordname = new QLabel( tab, "chordname" ); | 233 | chordname = new QLabel( tab, "chordname" ); |
233 | chordname->setGeometry( QRect( 146, 0, 90, 20 ) ); //cxm moved l 5 | 234 | chordname->setGeometry( QRect( 146, 0, 90, 20 ) ); //cxm moved l 5 |
234 | chordname->setText( tr( "A" ) ); | 235 | chordname->setText( tr( "A" ) ); |
235 | chordname->setAlignment( int( QLabel::AlignCenter ) ); | 236 | chordname->setAlignment( int( QLabel::AlignCenter ) ); |
236 | QToolTip::add( chordname, "" ); | 237 | QToolTip::add( chordname, "" ); |
237 | 238 | ||
238 | synth = new gs(); | 239 | synth = new gs(); |
239 | tuner = new gt(); | 240 | tuner = new gt(); |
240 | frets = new FretBoard( tab, "frets" ); | 241 | frets = new FretBoard( tab, "frets" ); |
241 | frets->setGeometry( QRect( 0, 20, 168, 210 ) ); | 242 | frets->setGeometry( QRect( 0, 20, 168, 210 ) ); |
242 | tabs->insertTab( tab, tr( "Guitar" ) ); | 243 | tabs->insertTab( tab, tr( "Guitar" ) ); |
243 | 244 | ||
244 | tab_2 = new QWidget( tabs, "tab_2" ); | 245 | tab_2 = new QWidget( tabs, "tab_2" ); |
245 | 246 | ||
246 | optlab2 = new QLabel( tab_2, "optlab2" ); | 247 | optlab2 = new QLabel( tab_2, "optlab2" ); |
247 | optlab2->setGeometry( QRect( 9, 58, 120, 41 ) ); | 248 | optlab2->setGeometry( QRect( 9, 58, 120, 41 ) ); |
248 | optlab2->setText( tr( "Alternative tunings are possible" ) ); | 249 | optlab2->setText( tr( "Alternative tunings are possible" ) ); |
249 | optlab2->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter | QLabel::AlignLeft ) ); | 250 | optlab2->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter | QLabel::AlignLeft ) ); |
250 | 251 | ||
251 | span = new QComboBox( FALSE, tab_2, "span" ); | 252 | span = new QComboBox( FALSE, tab_2, "span" ); |
252 | span->insertItem( tr( "2" ) ); | 253 | span->insertItem( tr( "2" ) ); |
253 | span->insertItem( tr( "3" ) ); | 254 | span->insertItem( tr( "3" ) ); |
254 | span->insertItem( tr( "4" ) ); | 255 | span->insertItem( tr( "4" ) ); |
255 | span->insertItem( tr( "5" ) ); | 256 | span->insertItem( tr( "5" ) ); |
256 | span->insertItem( tr( "6" ) ); | 257 | span->insertItem( tr( "6" ) ); |
257 | span->setGeometry( QRect( 180, 20, 50, 21 ) ); | 258 | span->setGeometry( QRect( 180, 20, 50, 21 ) ); |
258 | span->setCurrentItem( 1 ); | 259 | span->setCurrentItem( 1 ); |
259 | 260 | ||
260 | TextLabel1 = new QLabel( tab_2, "TextLabel1" ); | 261 | TextLabel1 = new QLabel( tab_2, "TextLabel1" ); |
261 | TextLabel1->setGeometry( QRect( 3, 109, 226, 140 ) ); | 262 | TextLabel1->setGeometry( QRect( 3, 109, 226, 140 ) ); |
262 | TextLabel1->setText( tr( QString::fromUtf8( "©2002 Camilo Mesias\n" | 263 | TextLabel1->setText( tr( QString::fromUtf8( "©2002 Camilo Mesias\n" |
263 | "camilo@mesias.co.uk\n" | 264 | "camilo@mesias.co.uk\n" |
264 | "Version 0.0.7 beta" ) ) ); | 265 | "Version 0.0.7 beta" ) ) ); |
265 | TextLabel1->setAlignment( int( QLabel::AlignBottom | QLabel::AlignLeft ) ); | 266 | TextLabel1->setAlignment( int( QLabel::AlignBottom | QLabel::AlignLeft ) ); |
266 | 267 | ||
267 | tuning = new QComboBox( FALSE, tab_2, "tuning" ); | 268 | tuning = new QComboBox( FALSE, tab_2, "tuning" ); |
268 | tuning->insertItem( tr( "EADGBE" ) ); | 269 | tuning->insertItem( tr( "EADGBE" ) ); |
269 | tuning->insertItem( tr( "EBEG#BE" ) ); | 270 | tuning->insertItem( tr( "EBEG#BE" ) ); |
270 | tuning->insertItem( tr( "EAEAC#E" ) ); | 271 | tuning->insertItem( tr( "EAEAC#E" ) ); |
271 | tuning->insertItem( tr( "EADF#BE" ) ); | 272 | tuning->insertItem( tr( "EADF#BE" ) ); |
272 | tuning->insertItem( tr( "EADGCF" ) ); | 273 | tuning->insertItem( tr( "EADGCF" ) ); |
273 | tuning->insertItem( tr( "DADGAD" ) ); | 274 | tuning->insertItem( tr( "DADGAD" ) ); |
274 | tuning->insertItem( tr( "DGCGCD" ) ); | 275 | tuning->insertItem( tr( "DGCGCD" ) ); |
275 | tuning->insertItem( tr( "DADF#AD" ) ); | 276 | tuning->insertItem( tr( "DADF#AD" ) ); |
276 | tuning->insertItem( tr( "DADGBE" ) ); | 277 | tuning->insertItem( tr( "DADGBE" ) ); |
277 | tuning->insertItem( tr( "DGDGBD" ) ); | 278 | tuning->insertItem( tr( "DGDGBD" ) ); |
278 | tuning->insertItem( tr( "DADACD" ) ); | 279 | tuning->insertItem( tr( "DADACD" ) ); |
279 | tuning->insertItem( tr( "CGCGAE" ) ); | 280 | tuning->insertItem( tr( "CGCGAE" ) ); |
280 | tuning->insertItem( tr( "FADGBE" ) ); | 281 | tuning->insertItem( tr( "FADGBE" ) ); |
281 | tuning->insertItem( tr( "G minor" ) ); | 282 | tuning->insertItem( tr( "G minor" ) ); |
282 | tuning->setGeometry( QRect( 140, 70, 91, 21 ) ); | 283 | tuning->setGeometry( QRect( 140, 70, 91, 21 ) ); |
283 | 284 | ||
284 | optlab1 = new QLabel( tab_2, "optlab1" ); | 285 | optlab1 = new QLabel( tab_2, "optlab1" ); |
285 | optlab1->setGeometry( QRect( 8, 8, 160, 40 ) ); | 286 | optlab1->setGeometry( QRect( 8, 8, 160, 40 ) ); |
286 | optlab1->setText( tr( "Span: the greatest number of frets over which you want chords to be generated" ) ); | 287 | optlab1->setText( tr( "Span: the greatest number of frets over which you want chords to be generated" ) ); |
287 | optlab1->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter | QLabel::AlignLeft ) ); | 288 | optlab1->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter | QLabel::AlignLeft ) ); |
288 | tabs->insertTab( tab_2, tr( "Options" ) ); | 289 | tabs->insertTab( tab_2, tr( "Options" ) ); |
289 | 290 | ||
290 | Tuner = new QWidget( tabs, "Tuner" ); | 291 | Tuner = new QWidget( tabs, "Tuner" ); |
291 | 292 | ||
292 | Frame4 = new QFrame( Tuner, "Frame4" ); | 293 | Frame4 = new QFrame( Tuner, "Frame4" ); |
293 | Frame4->setGeometry( QRect( 0, 0, 230, 126 ) ); | 294 | Frame4->setGeometry( QRect( 0, 0, 230, 126 ) ); |
294 | Frame4->setFrameShape( QFrame::Box ); | 295 | Frame4->setFrameShape( QFrame::Box ); |
295 | Frame4->setFrameShadow( QFrame::Raised ); | 296 | Frame4->setFrameShadow( QFrame::Raised ); |
296 | 297 | ||
297 | vu = new VUMeter( Frame4, "vu" ); | 298 | vu = new VUMeter( Frame4, "vu" ); |
298 | vu->setGeometry( QRect( 5, 5, 220, 115 ) ); | 299 | vu->setGeometry( QRect( 5, 5, 220, 115 ) ); |
299 | 300 | ||
300 | tuner_note = new QComboBox( FALSE, Tuner, "tuner_note" ); | 301 | tuner_note = new QComboBox( FALSE, Tuner, "tuner_note" ); |
301 | tuner_note->insertItem( tr( "auto" ) ); | 302 | tuner_note->insertItem( tr( "auto" ) ); |
302 | tuner_note->insertItem( tr( "E" ) ); | 303 | tuner_note->insertItem( tr( "E" ) ); |
303 | tuner_note->insertItem( tr( "D" ) ); | 304 | tuner_note->insertItem( tr( "D" ) ); |
304 | tuner_note->insertItem( tr( "G" ) ); | 305 | tuner_note->insertItem( tr( "G" ) ); |
305 | tuner_note->insertItem( tr( "A" ) ); | 306 | tuner_note->insertItem( tr( "A" ) ); |
306 | tuner_note->insertItem( tr( "B" ) ); | 307 | tuner_note->insertItem( tr( "B" ) ); |
307 | tuner_note->insertItem( tr( "C" ) ); | 308 | tuner_note->insertItem( tr( "C" ) ); |
308 | tuner_note->insertItem( tr( "F" ) ); | 309 | tuner_note->insertItem( tr( "F" ) ); |
309 | tuner_note->setGeometry( QRect( 5, 160, 90, 20 ) ); | 310 | tuner_note->setGeometry( QRect( 5, 160, 90, 20 ) ); |
310 | 311 | ||
311 | Frame8 = new QFrame( Tuner, "Frame8" ); | 312 | Frame8 = new QFrame( Tuner, "Frame8" ); |
312 | Frame8->setGeometry( QRect( -2, 188, 231, 10 ) ); | 313 | Frame8->setGeometry( QRect( -2, 188, 231, 10 ) ); |
313 | Frame8->setFrameShape( QFrame::HLine ); | 314 | Frame8->setFrameShape( QFrame::HLine ); |
314 | Frame8->setFrameShadow( QFrame::Raised ); | 315 | Frame8->setFrameShadow( QFrame::Raised ); |
315 | 316 | ||
316 | tuner_start = new QPushButton( Tuner, "tuner_start" ); | 317 | tuner_start = new QPushButton( Tuner, "tuner_start" ); |
317 | tuner_start->setGeometry( QRect( 100, 155, 91, 30 ) ); | 318 | tuner_start->setGeometry( QRect( 100, 155, 91, 30 ) ); |
318 | tuner_start->setText( tr( "Start" ) ); | 319 | tuner_start->setText( tr( "Start" ) ); |
319 | 320 | ||
320 | tuner_lab1 = new QLabel( Tuner, "tuner_lab1" ); | 321 | tuner_lab1 = new QLabel( Tuner, "tuner_lab1" ); |
321 | tuner_lab1->setGeometry( QRect( 10, 130, 100, 21 ) ); | 322 | tuner_lab1->setGeometry( QRect( 10, 130, 100, 21 ) ); |
322 | tuner_lab1->setText( tr( "Tuner operation" ) ); | 323 | tuner_lab1->setText( tr( "Tuner operation" ) ); |
323 | 324 | ||
324 | tuner_lab2 = new QLabel( Tuner, "tuner_lab2" ); | 325 | tuner_lab2 = new QLabel( Tuner, "tuner_lab2" ); |
325 | tuner_lab2->setGeometry( QRect( 10, 200, 100, 16 ) ); | 326 | tuner_lab2->setGeometry( QRect( 10, 200, 100, 16 ) ); |
326 | tuner_lab2->setText( tr( "Pitch calibration" ) ); | 327 | tuner_lab2->setText( tr( "Pitch calibration" ) ); |
327 | 328 | ||
328 | tuner_calib_note = new QComboBox( FALSE, Tuner, "tuner_calib_note" ); | 329 | tuner_calib_note = new QComboBox( FALSE, Tuner, "tuner_calib_note" ); |
329 | tuner_calib_note->insertItem( tr( "A" ) ); | 330 | tuner_calib_note->insertItem( tr( "A" ) ); |
330 | tuner_calib_note->insertItem( tr( "C" ) ); | 331 | tuner_calib_note->insertItem( tr( "C" ) ); |
331 | tuner_calib_note->setGeometry( QRect( 5, 225, 90, 21 ) ); | 332 | tuner_calib_note->setGeometry( QRect( 5, 225, 90, 21 ) ); |
332 | 333 | ||
333 | tuner_calib_freq = new QSpinBox( Tuner, "tuner_calib_freq" ); | 334 | tuner_calib_freq = new QSpinBox( Tuner, "tuner_calib_freq" ); |
334 | tuner_calib_freq->setGeometry( QRect( 105, 225, 71, 21 ) ); | 335 | tuner_calib_freq->setGeometry( QRect( 105, 225, 71, 21 ) ); |
335 | tuner_calib_freq->setSuffix( tr( "Hz" ) ); | 336 | tuner_calib_freq->setSuffix( tr( "Hz" ) ); |
336 | tuner_calib_freq->setWrapping( TRUE ); | 337 | tuner_calib_freq->setWrapping( TRUE ); |
337 | tuner_calib_freq->setMaxValue( 500 ); | 338 | tuner_calib_freq->setMaxValue( 500 ); |
338 | tuner_calib_freq->setMinValue( 300 ); | 339 | tuner_calib_freq->setMinValue( 300 ); |
339 | tuner_calib_freq->setValue( 440 ); | 340 | tuner_calib_freq->setValue( 440 ); |
340 | 341 | ||
341 | tuner_lab3 = new QLabel( Tuner, "tuner_lab3" ); | 342 | tuner_lab3 = new QLabel( Tuner, "tuner_lab3" ); |
342 | tuner_lab3->setGeometry( QRect( 185, 225, 40, 21 ) ); | 343 | tuner_lab3->setGeometry( QRect( 185, 225, 40, 21 ) ); |
343 | tuner_lab3->setText( tr( "Pitch" ) ); | 344 | tuner_lab3->setText( tr( "Pitch" ) ); |
344 | 345 | ||
345 | tuner_pic1 = new QLabel( Tuner, "tuner_pic1" ); | 346 | tuner_pic1 = new QLabel( Tuner, "tuner_pic1" ); |
346 | tuner_pic1->setGeometry( QRect( 195, 155, 31, 31 ) ); | 347 | tuner_pic1->setGeometry( QRect( 195, 155, 31, 31 ) ); |
347 | tuner_pic1->setFrameShape( QLabel::NoFrame ); | 348 | tuner_pic1->setFrameShape( QLabel::NoFrame ); |
348 | tuner_pic1->setPixmap( image6 ); | 349 | tuner_pic1->setPixmap( image6 ); |
349 | tuner_pic1->setScaledContents( TRUE ); | 350 | tuner_pic1->setScaledContents( TRUE ); |
350 | tabs->insertTab( Tuner, tr( "Tuner" ) ); | 351 | tabs->insertTab( Tuner, tr( "Tuner" ) ); |
351 | 352 | ||
352 | tab_3 = new QWidget( tabs, "tab_3" ); | 353 | tab_3 = new QWidget( tabs, "tab_3" ); |
353 | 354 | ||
354 | chordlistlab1 = new QLabel( tab_3, "chordlistlab1" ); | 355 | chordlistlab1 = new QLabel( tab_3, "chordlistlab1" ); |
355 | chordlistlab1->setGeometry( QRect( 5, 5, 216, 16 ) ); | 356 | chordlistlab1->setGeometry( QRect( 5, 5, 216, 16 ) ); |
356 | chordlistlab1->setText( tr( "Chord list" ) ); | 357 | chordlistlab1->setText( tr( "Chord list" ) ); |
357 | 358 | ||
358 | chordlist = new QListBox( tab_3, "chordlist" ); | 359 | chordlist = new QListBox( tab_3, "chordlist" ); |
359 | chordlist->setGeometry( QRect( 5, 25, 220, 200 ) ); | 360 | chordlist->setGeometry( QRect( 5, 25, 220, 200 ) ); |
360 | 361 | ||
361 | list_remove_btn = new QPushButton( tab_3, "list_remove_btn" ); | 362 | list_remove_btn = new QPushButton( tab_3, "list_remove_btn" ); |
362 | list_remove_btn->setGeometry( QRect( 150, 230, 71, 25 ) ); | 363 | list_remove_btn->setGeometry( QRect( 150, 230, 71, 25 ) ); |
363 | list_remove_btn->setText( tr( "Remove" ) ); | 364 | list_remove_btn->setText( tr( "Remove" ) ); |
364 | tabs->insertTab( tab_3, tr( "Chords" ) ); | 365 | tabs->insertTab( tab_3, tr( "Chords" ) ); |
365 | 366 | ||
366 | // hope this does what it's supposed to!! | 367 | // hope this does what it's supposed to!! |
367 | // setPalette( QPalette( QColor( 232, 227, 215) ) ); | 368 | // setPalette( QPalette( QColor( 232, 227, 215) ) ); |
368 | 369 | ||
369 | // signals and slots connections | 370 | // signals and slots connections |
370 | 371 | ||
371 | //cxm | 372 | //cxm |
372 | connect( tuning, SIGNAL( activated(int) ), frets, SLOT( Tune(int) ) ); | 373 | connect( tuning, SIGNAL( activated(int) ), frets, SLOT( Tune(int) ) ); |
373 | connect( span, SIGNAL( activated(int) ), frets, SLOT( Span(int) ) ); | 374 | connect( span, SIGNAL( activated(int) ), frets, SLOT( Span(int) ) ); |
374 | connect( transport_rec, SIGNAL( clicked() ), this, SLOT( transport_rec_cb() )); | 375 | connect( transport_rec, SIGNAL( clicked() ), this, SLOT( transport_rec_cb() )); |
375 | connect( play_sound, SIGNAL( clicked() ), this, SLOT( play_chord_cb() )); | 376 | connect( play_sound, SIGNAL( clicked() ), this, SLOT( play_chord_cb() )); |
376 | connect( tuner_start, SIGNAL( clicked() ), this, SLOT( tuner_start_cb() )); | 377 | connect( tuner_start, SIGNAL( clicked() ), this, SLOT( tuner_start_cb() )); |
377 | connect( tuner_note, SIGNAL( textChanged(const QString&) ), vu, SLOT( AnnotL(const QString&) )); | 378 | connect( tuner_note, SIGNAL( textChanged(const QString&) ), vu, SLOT( AnnotL(const QString&) )); |
378 | connect( this, SIGNAL( frequency_change(int) ), vu, SLOT( Value(int) )); | 379 | connect( this, SIGNAL( frequency_change(int) ), vu, SLOT( Value(int) )); |
379 | 380 | ||
380 | connect( chordnote, SIGNAL( activated(int) ), frets, SLOT( Base(int) ) ); | 381 | connect( chordnote, SIGNAL( activated(int) ), frets, SLOT( Base(int) ) ); |
381 | connect( chordkey, SIGNAL( activated(int) ), frets, SLOT( Chord(int) ) ); | 382 | connect( chordkey, SIGNAL( activated(int) ), frets, SLOT( Chord(int) ) ); |
382 | connect( chordfret, SIGNAL( activated(int) ), frets, SLOT( Fret(int) ) ); | 383 | connect( chordfret, SIGNAL( activated(int) ), frets, SLOT( Fret(int) ) ); |
383 | connect( list_remove_btn, SIGNAL( clicked() ), this, SLOT( list_remove_cb() ) ); | 384 | connect( list_remove_btn, SIGNAL( clicked() ), this, SLOT( list_remove_cb() ) ); |
384 | connect( frets, SIGNAL( s1nameChanged(const QString&) ), s1_1, SLOT( setText(const QString&) ) ); | 385 | connect( frets, SIGNAL( s1nameChanged(const QString&) ), s1_1, SLOT( setText(const QString&) ) ); |
385 | connect( frets, SIGNAL( s2nameChanged(const QString&) ), s1_2, SLOT( setText(const QString&) ) ); | 386 | connect( frets, SIGNAL( s2nameChanged(const QString&) ), s1_2, SLOT( setText(const QString&) ) ); |
386 | connect( frets, SIGNAL( s3nameChanged(const QString&) ), s1_3, SLOT( setText(const QString&) ) ); | 387 | connect( frets, SIGNAL( s3nameChanged(const QString&) ), s1_3, SLOT( setText(const QString&) ) ); |
387 | connect( frets, SIGNAL( s4nameChanged(const QString&) ), s1_4, SLOT( setText(const QString&) ) ); | 388 | connect( frets, SIGNAL( s4nameChanged(const QString&) ), s1_4, SLOT( setText(const QString&) ) ); |
388 | connect( frets, SIGNAL( s5nameChanged(const QString&) ), s1_5, SLOT( setText(const QString&) ) ); | 389 | connect( frets, SIGNAL( s5nameChanged(const QString&) ), s1_5, SLOT( setText(const QString&) ) ); |
389 | connect( frets, SIGNAL( s6nameChanged(const QString&) ), s1_6, SLOT( setText(const QString&) ) ); | 390 | connect( frets, SIGNAL( s6nameChanged(const QString&) ), s1_6, SLOT( setText(const QString&) ) ); |
390 | connect( frets, SIGNAL( nameChanged(const QString&) ), chordname, SLOT( setText(const QString&) ) ); | 391 | connect( frets, SIGNAL( nameChanged(const QString&) ), chordname, SLOT( setText(const QString&) ) ); |
391 | } | 392 | } |
392 | 393 | ||
393 | 394 | ||
394 | static int known=0; | 395 | static int known=0; |
395 | #include <qmessagebox.h> | 396 | #include <qmessagebox.h> |
396 | void PowerchordBase::transport_rec_cb(){ | 397 | void PowerchordBase::transport_rec_cb(){ |
397 | chordlist->insertItem(chordname->text(),-1); | 398 | chordlist->insertItem(chordname->text(),-1); |
398 | if (!known){ | 399 | if (!known){ |
399 | QMessageBox::information(this, tr("Powerchord"), | 400 | QMessageBox::information(this, tr("Powerchord"), |
400 | tr("<P>This chord has been saved into the list of chords, for later playback.<P>")); | 401 | tr("<P>This chord has been saved into the list of chords, for later playback.<P>")); |
401 | known = 1; | 402 | known = 1; |
402 | } | 403 | } |
403 | } | 404 | } |
404 | void PowerchordBase::list_remove_cb(){ | 405 | void PowerchordBase::list_remove_cb(){ |
405 | if (chordlist->count() > 0){ | 406 | if (chordlist->count() > 0){ |
406 | chordlist->removeItem(0); | 407 | chordlist->removeItem(0); |
407 | } | 408 | } |
408 | } | 409 | } |
409 | void PowerchordBase::play_chord_cb(){ | 410 | void PowerchordBase::play_chord_cb(){ |
410 | // QMessageBox::information(this, "Coming soon!", "This button plays\nthe chord by synthesizing\nthe sound of the notes."); | 411 | // QMessageBox::information(this, "Coming soon!", "This button plays\nthe chord by synthesizing\nthe sound of the notes."); |
411 | 412 | ||
412 | 413 | ||
413 | if (audio_timer){ | 414 | if (audio_timer){ |
414 | audio_timer->stop(); | 415 | audio_timer->stop(); |
415 | // set pixmap? | 416 | // set pixmap? |
416 | synth->Stop(); | 417 | synth->Stop(); |
417 | delete(audio_timer); | 418 | delete(audio_timer); |
418 | audio_timer = 0; | 419 | audio_timer = 0; |
419 | }else{ | 420 | }else{ |
420 | // get notes from chord engine | 421 | // get notes from chord engine |
421 | 422 | ||
422 | int note; | 423 | int note; |
423 | int base; | 424 | int base; |
424 | int octave; | 425 | int octave; |
425 | note = frets->ce.noteindex(0); | 426 | note = frets->ce.noteindex(0); |
426 | if (note >= 0){ | 427 | if (note >= 0){ |
427 | //fprintf(stderr, "Note was %d\n", note); | 428 | //fprintf(stderr, "Note was %d\n", note); |
428 | base = note % 12; | 429 | base = note % 12; |
429 | octave = note / 12; | 430 | octave = note / 12; |
430 | synth->note_start(0, base, octave); | 431 | synth->note_start(0, base, octave); |
431 | }else{ | 432 | }else{ |