summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/powerchord/fretboard.cpp16
-rw-r--r--noncore/multimedia/powerchord/powerchordbase.cpp17
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
30void FretBoard::refresh(){ 28void 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
63FretBoard::FretBoard(QWidget *parent, const char *name ) 61FretBoard::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
104void FretBoard::Finger(int f, int position){ 102void 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
127void FretBoard::paintEvent(QPaintEvent *){ 125void 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>
16using namespace Opie::Core; 16using 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 */
32PowerchordBase::PowerchordBase( QWidget* parent, const char* name, WFlags fl ) 33PowerchordBase::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
394static int known=0; 395static int known=0;
395#include <qmessagebox.h> 396#include <qmessagebox.h>
396void PowerchordBase::transport_rec_cb(){ 397void 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}
404void PowerchordBase::list_remove_cb(){ 405void 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}
409void PowerchordBase::play_chord_cb(){ 410void 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{