summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-05-20 08:02:37 (UTC)
committer llornkcor <llornkcor>2004-05-20 08:02:37 (UTC)
commit47245723b724beb24183aa32b047d77f3469b7df (patch) (unidiff)
treec20cc2984589db4f9888163018d1ce647af59518
parent7ee7f26e39ef6c3ed164f307c1c3906961c1b189 (diff)
downloadopie-47245723b724beb24183aa32b047d77f3469b7df.zip
opie-47245723b724beb24183aa32b047d77f3469b7df.tar.gz
opie-47245723b724beb24183aa32b047d77f3469b7df.tar.bz2
always compile before commit
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/powerchord/powerchordbase.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/multimedia/powerchord/powerchordbase.cpp b/noncore/multimedia/powerchord/powerchordbase.cpp
index 92198bf..98fe3f7 100644
--- a/noncore/multimedia/powerchord/powerchordbase.cpp
+++ b/noncore/multimedia/powerchord/powerchordbase.cpp
@@ -272,257 +272,257 @@ PowerchordBase::PowerchordBase( QWidget* parent, const char* name, WFlags fl )
272 tuning->insertItem( tr( "EADGCF" ) ); 272 tuning->insertItem( tr( "EADGCF" ) );
273 tuning->insertItem( tr( "DADGAD" ) ); 273 tuning->insertItem( tr( "DADGAD" ) );
274 tuning->insertItem( tr( "DGCGCD" ) ); 274 tuning->insertItem( tr( "DGCGCD" ) );
275 tuning->insertItem( tr( "DADF#AD" ) ); 275 tuning->insertItem( tr( "DADF#AD" ) );
276 tuning->insertItem( tr( "DADGBE" ) ); 276 tuning->insertItem( tr( "DADGBE" ) );
277 tuning->insertItem( tr( "DGDGBD" ) ); 277 tuning->insertItem( tr( "DGDGBD" ) );
278 tuning->insertItem( tr( "DADACD" ) ); 278 tuning->insertItem( tr( "DADACD" ) );
279 tuning->insertItem( tr( "CGCGAE" ) ); 279 tuning->insertItem( tr( "CGCGAE" ) );
280 tuning->insertItem( tr( "FADGBE" ) ); 280 tuning->insertItem( tr( "FADGBE" ) );
281 tuning->insertItem( tr( "G minor" ) ); 281 tuning->insertItem( tr( "G minor" ) );
282 tuning->setGeometry( QRect( 140, 70, 91, 21 ) ); 282 tuning->setGeometry( QRect( 140, 70, 91, 21 ) );
283 283
284 optlab1 = new QLabel( tab_2, "optlab1" ); 284 optlab1 = new QLabel( tab_2, "optlab1" );
285 optlab1->setGeometry( QRect( 8, 8, 160, 40 ) ); 285 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" ) ); 286 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 ) ); 287 optlab1->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter | QLabel::AlignLeft ) );
288 tabs->insertTab( tab_2, tr( "Options" ) ); 288 tabs->insertTab( tab_2, tr( "Options" ) );
289 289
290 Tuner = new QWidget( tabs, "Tuner" ); 290 Tuner = new QWidget( tabs, "Tuner" );
291 291
292 Frame4 = new QFrame( Tuner, "Frame4" ); 292 Frame4 = new QFrame( Tuner, "Frame4" );
293 Frame4->setGeometry( QRect( 0, 0, 230, 126 ) ); 293 Frame4->setGeometry( QRect( 0, 0, 230, 126 ) );
294 Frame4->setFrameShape( QFrame::Box ); 294 Frame4->setFrameShape( QFrame::Box );
295 Frame4->setFrameShadow( QFrame::Raised ); 295 Frame4->setFrameShadow( QFrame::Raised );
296 296
297 vu = new VUMeter( Frame4, "vu" ); 297 vu = new VUMeter( Frame4, "vu" );
298 vu->setGeometry( QRect( 5, 5, 220, 115 ) ); 298 vu->setGeometry( QRect( 5, 5, 220, 115 ) );
299 299
300 tuner_note = new QComboBox( FALSE, Tuner, "tuner_note" ); 300 tuner_note = new QComboBox( FALSE, Tuner, "tuner_note" );
301 tuner_note->insertItem( tr( "auto" ) ); 301 tuner_note->insertItem( tr( "auto" ) );
302 tuner_note->insertItem( tr( "E" ) ); 302 tuner_note->insertItem( tr( "E" ) );
303 tuner_note->insertItem( tr( "D" ) ); 303 tuner_note->insertItem( tr( "D" ) );
304 tuner_note->insertItem( tr( "G" ) ); 304 tuner_note->insertItem( tr( "G" ) );
305 tuner_note->insertItem( tr( "A" ) ); 305 tuner_note->insertItem( tr( "A" ) );
306 tuner_note->insertItem( tr( "B" ) ); 306 tuner_note->insertItem( tr( "B" ) );
307 tuner_note->insertItem( tr( "C" ) ); 307 tuner_note->insertItem( tr( "C" ) );
308 tuner_note->insertItem( tr( "F" ) ); 308 tuner_note->insertItem( tr( "F" ) );
309 tuner_note->setGeometry( QRect( 5, 160, 90, 20 ) ); 309 tuner_note->setGeometry( QRect( 5, 160, 90, 20 ) );
310 310
311 Frame8 = new QFrame( Tuner, "Frame8" ); 311 Frame8 = new QFrame( Tuner, "Frame8" );
312 Frame8->setGeometry( QRect( -2, 188, 231, 10 ) ); 312 Frame8->setGeometry( QRect( -2, 188, 231, 10 ) );
313 Frame8->setFrameShape( QFrame::HLine ); 313 Frame8->setFrameShape( QFrame::HLine );
314 Frame8->setFrameShadow( QFrame::Raised ); 314 Frame8->setFrameShadow( QFrame::Raised );
315 315
316 tuner_start = new QPushButton( Tuner, "tuner_start" ); 316 tuner_start = new QPushButton( Tuner, "tuner_start" );
317 tuner_start->setGeometry( QRect( 100, 155, 91, 30 ) ); 317 tuner_start->setGeometry( QRect( 100, 155, 91, 30 ) );
318 tuner_start->setText( tr( "Start" ) ); 318 tuner_start->setText( tr( "Start" ) );
319 319
320 tuner_lab1 = new QLabel( Tuner, "tuner_lab1" ); 320 tuner_lab1 = new QLabel( Tuner, "tuner_lab1" );
321 tuner_lab1->setGeometry( QRect( 10, 130, 100, 21 ) ); 321 tuner_lab1->setGeometry( QRect( 10, 130, 100, 21 ) );
322 tuner_lab1->setText( tr( "Tuner operation" ) ); 322 tuner_lab1->setText( tr( "Tuner operation" ) );
323 323
324 tuner_lab2 = new QLabel( Tuner, "tuner_lab2" ); 324 tuner_lab2 = new QLabel( Tuner, "tuner_lab2" );
325 tuner_lab2->setGeometry( QRect( 10, 200, 100, 16 ) ); 325 tuner_lab2->setGeometry( QRect( 10, 200, 100, 16 ) );
326 tuner_lab2->setText( tr( "Pitch calibration" ) ); 326 tuner_lab2->setText( tr( "Pitch calibration" ) );
327 327
328 tuner_calib_note = new QComboBox( FALSE, Tuner, "tuner_calib_note" ); 328 tuner_calib_note = new QComboBox( FALSE, Tuner, "tuner_calib_note" );
329 tuner_calib_note->insertItem( tr( "A" ) ); 329 tuner_calib_note->insertItem( tr( "A" ) );
330 tuner_calib_note->insertItem( tr( "C" ) ); 330 tuner_calib_note->insertItem( tr( "C" ) );
331 tuner_calib_note->setGeometry( QRect( 5, 225, 90, 21 ) ); 331 tuner_calib_note->setGeometry( QRect( 5, 225, 90, 21 ) );
332 332
333 tuner_calib_freq = new QSpinBox( Tuner, "tuner_calib_freq" ); 333 tuner_calib_freq = new QSpinBox( Tuner, "tuner_calib_freq" );
334 tuner_calib_freq->setGeometry( QRect( 105, 225, 71, 21 ) ); 334 tuner_calib_freq->setGeometry( QRect( 105, 225, 71, 21 ) );
335 tuner_calib_freq->setSuffix( tr( "Hz" ) ); 335 tuner_calib_freq->setSuffix( tr( "Hz" ) );
336 tuner_calib_freq->setWrapping( TRUE ); 336 tuner_calib_freq->setWrapping( TRUE );
337 tuner_calib_freq->setMaxValue( 500 ); 337 tuner_calib_freq->setMaxValue( 500 );
338 tuner_calib_freq->setMinValue( 300 ); 338 tuner_calib_freq->setMinValue( 300 );
339 tuner_calib_freq->setValue( 440 ); 339 tuner_calib_freq->setValue( 440 );
340 340
341 tuner_lab3 = new QLabel( Tuner, "tuner_lab3" ); 341 tuner_lab3 = new QLabel( Tuner, "tuner_lab3" );
342 tuner_lab3->setGeometry( QRect( 185, 225, 40, 21 ) ); 342 tuner_lab3->setGeometry( QRect( 185, 225, 40, 21 ) );
343 tuner_lab3->setText( tr( "Pitch" ) ); 343 tuner_lab3->setText( tr( "Pitch" ) );
344 344
345 tuner_pic1 = new QLabel( Tuner, "tuner_pic1" ); 345 tuner_pic1 = new QLabel( Tuner, "tuner_pic1" );
346 tuner_pic1->setGeometry( QRect( 195, 155, 31, 31 ) ); 346 tuner_pic1->setGeometry( QRect( 195, 155, 31, 31 ) );
347 tuner_pic1->setFrameShape( QLabel::NoFrame ); 347 tuner_pic1->setFrameShape( QLabel::NoFrame );
348 tuner_pic1->setPixmap( image6 ); 348 tuner_pic1->setPixmap( image6 );
349 tuner_pic1->setScaledContents( TRUE ); 349 tuner_pic1->setScaledContents( TRUE );
350 tabs->insertTab( Tuner, tr( "Tuner" ) ); 350 tabs->insertTab( Tuner, tr( "Tuner" ) );
351 351
352 tab_3 = new QWidget( tabs, "tab_3" ); 352 tab_3 = new QWidget( tabs, "tab_3" );
353 353
354 chordlistlab1 = new QLabel( tab_3, "chordlistlab1" ); 354 chordlistlab1 = new QLabel( tab_3, "chordlistlab1" );
355 chordlistlab1->setGeometry( QRect( 5, 5, 216, 16 ) ); 355 chordlistlab1->setGeometry( QRect( 5, 5, 216, 16 ) );
356 chordlistlab1->setText( tr( "Chord list" ) ); 356 chordlistlab1->setText( tr( "Chord list" ) );
357 357
358 chordlist = new QListBox( tab_3, "chordlist" ); 358 chordlist = new QListBox( tab_3, "chordlist" );
359 chordlist->setGeometry( QRect( 5, 25, 220, 200 ) ); 359 chordlist->setGeometry( QRect( 5, 25, 220, 200 ) );
360 360
361 list_remove_btn = new QPushButton( tab_3, "list_remove_btn" ); 361 list_remove_btn = new QPushButton( tab_3, "list_remove_btn" );
362 list_remove_btn->setGeometry( QRect( 150, 230, 71, 25 ) ); 362 list_remove_btn->setGeometry( QRect( 150, 230, 71, 25 ) );
363 list_remove_btn->setText( tr( "Remove" ) ); 363 list_remove_btn->setText( tr( "Remove" ) );
364 tabs->insertTab( tab_3, tr( "Chords" ) ); 364 tabs->insertTab( tab_3, tr( "Chords" ) );
365 365
366 // hope this does what it's supposed to!! 366 // hope this does what it's supposed to!!
367 // setPalette( QPalette( QColor( 232, 227, 215) ) ); 367 // setPalette( QPalette( QColor( 232, 227, 215) ) );
368 368
369 // signals and slots connections 369 // signals and slots connections
370 370
371 //cxm 371 //cxm
372 connect( tuning, SIGNAL( activated(int) ), frets, SLOT( Tune(int) ) ); 372 connect( tuning, SIGNAL( activated(int) ), frets, SLOT( Tune(int) ) );
373 connect( span, SIGNAL( activated(int) ), frets, SLOT( Span(int) ) ); 373 connect( span, SIGNAL( activated(int) ), frets, SLOT( Span(int) ) );
374 connect( transport_rec, SIGNAL( clicked() ), this, SLOT( transport_rec_cb() )); 374 connect( transport_rec, SIGNAL( clicked() ), this, SLOT( transport_rec_cb() ));
375 connect( play_sound, SIGNAL( clicked() ), this, SLOT( play_chord_cb() )); 375 connect( play_sound, SIGNAL( clicked() ), this, SLOT( play_chord_cb() ));
376 connect( tuner_start, SIGNAL( clicked() ), this, SLOT( tuner_start_cb() )); 376 connect( tuner_start, SIGNAL( clicked() ), this, SLOT( tuner_start_cb() ));
377 connect( tuner_note, SIGNAL( textChanged(const QString&) ), vu, SLOT( AnnotL(const QString&) )); 377 connect( tuner_note, SIGNAL( textChanged(const QString&) ), vu, SLOT( AnnotL(const QString&) ));
378 connect( this, SIGNAL( frequency_change(int) ), vu, SLOT( Value(int) )); 378 connect( this, SIGNAL( frequency_change(int) ), vu, SLOT( Value(int) ));
379 379
380 connect( chordnote, SIGNAL( activated(int) ), frets, SLOT( Base(int) ) ); 380 connect( chordnote, SIGNAL( activated(int) ), frets, SLOT( Base(int) ) );
381 connect( chordkey, SIGNAL( activated(int) ), frets, SLOT( Chord(int) ) ); 381 connect( chordkey, SIGNAL( activated(int) ), frets, SLOT( Chord(int) ) );
382 connect( chordfret, SIGNAL( activated(int) ), frets, SLOT( Fret(int) ) ); 382 connect( chordfret, SIGNAL( activated(int) ), frets, SLOT( Fret(int) ) );
383 connect( list_remove_btn, SIGNAL( clicked() ), this, SLOT( list_remove_cb() ) ); 383 connect( list_remove_btn, SIGNAL( clicked() ), this, SLOT( list_remove_cb() ) );
384 connect( frets, SIGNAL( s1nameChanged(const QString&) ), s1_1, SLOT( setText(const QString&) ) ); 384 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&) ) ); 385 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&) ) ); 386 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&) ) ); 387 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&) ) ); 388 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&) ) ); 389 connect( frets, SIGNAL( s6nameChanged(const QString&) ), s1_6, SLOT( setText(const QString&) ) );
390 connect( frets, SIGNAL( nameChanged(const QString&) ), chordname, SLOT( setText(const QString&) ) ); 390 connect( frets, SIGNAL( nameChanged(const QString&) ), chordname, SLOT( setText(const QString&) ) );
391} 391}
392 392
393 393
394static int known=0; 394static int known=0;
395#include <qmessagebox.h> 395#include <qmessagebox.h>
396void PowerchordBase::transport_rec_cb(){ 396void PowerchordBase::transport_rec_cb(){
397 chordlist->insertItem(chordname->text(),-1); 397 chordlist->insertItem(chordname->text(),-1);
398 if (!known){ 398 if (!known){
399 QMessageBox::information(this, tr("Powerchord"), 399 QMessageBox::information(this, tr("Powerchord"),
400 tr("<P>This chord has been saved into the list of chords, for later playback.<P>"); 400 tr("<P>This chord has been saved into the list of chords, for later playback.<P>"));
401 known = 1; 401 known = 1;
402 } 402 }
403} 403}
404void PowerchordBase::list_remove_cb(){ 404void PowerchordBase::list_remove_cb(){
405 if (chordlist->count() > 0){ 405 if (chordlist->count() > 0){
406 chordlist->removeItem(0); 406 chordlist->removeItem(0);
407 } 407 }
408} 408}
409void PowerchordBase::play_chord_cb(){ 409void PowerchordBase::play_chord_cb(){
410 // QMessageBox::information(this, "Coming soon!", "This button plays\nthe chord by synthesizing\nthe sound of the notes."); 410 // QMessageBox::information(this, "Coming soon!", "This button plays\nthe chord by synthesizing\nthe sound of the notes.");
411 411
412 412
413 if (audio_timer){ 413 if (audio_timer){
414 audio_timer->stop(); 414 audio_timer->stop();
415 // set pixmap? 415 // set pixmap?
416 synth->Stop(); 416 synth->Stop();
417 delete(audio_timer); 417 delete(audio_timer);
418 audio_timer = 0; 418 audio_timer = 0;
419 }else{ 419 }else{
420 // get notes from chord engine 420 // get notes from chord engine
421 421
422 int note; 422 int note;
423 int base; 423 int base;
424 int octave; 424 int octave;
425 note = frets->ce.noteindex(0); 425 note = frets->ce.noteindex(0);
426 if (note >= 0){ 426 if (note >= 0){
427 //fprintf(stderr, "Note was %d\n", note); 427 //fprintf(stderr, "Note was %d\n", note);
428 base = note % 12; 428 base = note % 12;
429 octave = note / 12; 429 octave = note / 12;
430 synth->note_start(0, base, octave); 430 synth->note_start(0, base, octave);
431 }else{ 431 }else{
432 // subtle bug here - replay second note if 1st one muted 432 // subtle bug here - replay second note if 1st one muted
433 note = frets->ce.noteindex(1); 433 note = frets->ce.noteindex(1);
434 base = note % 12; 434 base = note % 12;
435 octave = note / 12; 435 octave = note / 12;
436 synth->note_start(1, base, octave); 436 synth->note_start(1, base, octave);
437 437
438 } 438 }
439 439
440 // init synth 440 // init synth
441 if (synth->Play()){ 441 if (synth->Play()){
442 // error 442 // error
443 QMessageBox::information(this, tr("Powerchord"), 443 QMessageBox::information(this, tr("Powerchord"),
444 tr("<P>Unable to open device for sound playback - check that no other application is using it.</P>")); 444 tr("<P>Unable to open device for sound playback - check that no other application is using it.</P>"));
445 return; 445 return;
446 } 446 }
447 synth->fill_buffer(); 447 synth->fill_buffer();
448 448
449 // start timer 449 // start timer
450 audio_timer = new QTimer(); 450 audio_timer = new QTimer();
451 connect(audio_timer, SIGNAL( timeout() ), this, SLOT( audio_cb() )); 451 connect(audio_timer, SIGNAL( timeout() ), this, SLOT( audio_cb() ));
452 // set pixmap on player? 452 // set pixmap on player?
453 audio_timer->start(19); // 19 msec (fudge factor!!) 453 audio_timer->start(19); // 19 msec (fudge factor!!)
454 } 454 }
455} 455}
456 456
457 457
458 458
459void PowerchordBase::audio_cb(){ 459void PowerchordBase::audio_cb(){
460 // play the next bit of audio until quiet 460 // play the next bit of audio until quiet
461 461
462 // strum timing 462 // strum timing
463#define INTERVAL 2 463#define INTERVAL 2
464 464
465 if ((synth->Frames() % INTERVAL) == 0){ 465 if ((synth->Frames() % INTERVAL) == 0){
466 int string = synth->Frames() / INTERVAL; 466 int string = synth->Frames() / INTERVAL;
467 if (string <= 5){ 467 if (string <= 5){
468 int note; 468 int note;
469 int base; 469 int base;
470 int octave; 470 int octave;
471 note = frets->ce.noteindex(string); 471 note = frets->ce.noteindex(string);
472 // check not muted... 472 // check not muted...
473 if (note > 0){ 473 if (note > 0){
474 base = note % 12; 474 base = note % 12;
475 octave = note / 12; 475 octave = note / 12;
476 synth->note_start(string, base, octave); 476 synth->note_start(string, base, octave);
477 } 477 }
478 } 478 }
479 } 479 }
480 480
481 if (synth->Playing()){ 481 if (synth->Playing()){
482 synth->write_buffer(); 482 synth->write_buffer();
483 synth->fill_buffer(); 483 synth->fill_buffer();
484 }else{ 484 }else{
485 audio_timer->stop(); 485 audio_timer->stop();
486 // set pixmap? 486 // set pixmap?
487 synth->Stop(); 487 synth->Stop();
488 delete(audio_timer); 488 delete(audio_timer);
489 audio_timer = 0; 489 audio_timer = 0;
490 } 490 }
491} 491}
492 492
493// the real tuner 493// the real tuner
494// void PowerchordBase::tuner_start_cb(){ 494// void PowerchordBase::tuner_start_cb(){
495 495
496// if (tuner->Listening()){ 496// if (tuner->Listening()){
497// simulation_timer->stop(); 497// simulation_timer->stop();
498// tuner->Stop(); 498// tuner->Stop();
499// tuner_pic1->setPixmap( *image6 ); 499// tuner_pic1->setPixmap( *image6 );
500 500
501// }else{ 501// }else{
502// tuner_pic1->setPixmap( *image_open ); 502// tuner_pic1->setPixmap( *image_open );
503 503
504// if (!simulation_timer){ 504// if (!simulation_timer){
505// simulation_timer = new QTimer(); 505// simulation_timer = new QTimer();
506 506
507 507
508// connect(simulation_timer, SIGNAL( timeout() ), this, SLOT( tuner_cb() )); 508// connect(simulation_timer, SIGNAL( timeout() ), this, SLOT( tuner_cb() ));
509// } 509// }
510 510
511// simulation_timer->start(50); 511// simulation_timer->start(50);
512// tuner->Listen(); 512// tuner->Listen();
513 513
514// } 514// }
515// } 515// }
516 516
517void PowerchordBase::tuner_cb(){ 517void PowerchordBase::tuner_cb(){
518 if (tuner->Listening()){ 518 if (tuner->Listening()){
519 tuner->read_buffer(); 519 tuner->read_buffer();
520 tuner->process_buffer(); 520 tuner->process_buffer();
521 521
522 // update gui 522 // update gui
523 // do something with the note: tuner->Note() 523 // do something with the note: tuner->Note()
524 emit frequency_change(tuner->Tuning()); 524 emit frequency_change(tuner->Tuning());
525 525
526 }else{ 526 }else{
527 simulation_timer->stop(); 527 simulation_timer->stop();
528 tuner->Stop(); 528 tuner->Stop();