comparison examples/iAudioDB/AppController.m @ 703:14b48e1b9ca4

Fix to start vector / length (ta Christophe!)
author mas01mj
date Fri, 30 Apr 2010 15:31:08 +0000
parents 6d8539709d9c
children df35c9c976a0
comparison
equal deleted inserted replaced
702:6d8539709d9c 703:14b48e1b9ca4
668 // Query Length 668 // Query Length
669 if (ed == queryLengthSeconds) 669 if (ed == queryLengthSeconds)
670 { 670 {
671 if(lengthSecs >= 0) 671 if(lengthSecs >= 0)
672 { 672 {
673 lengthVectors = ceil(((lengthSecs*sampleRate)-winSize)/hopSize); 673 lengthVectors = ceil((((lengthSecs*sampleRate)-winSize)/hopSize)+1);
674 if(lengthVectors < 0) {lengthVectors = 0; } 674 if(lengthVectors < 0) {lengthVectors = 0; }
675 [queryLengthVectors setDoubleValue:lengthVectors]; 675 [queryLengthVectors setDoubleValue:lengthVectors];
676 } 676 }
677 } 677 }
678 678
679 if (ed == queryLengthVectors) 679 if (ed == queryLengthVectors)
680 { 680 {
681 if(lengthVectors >= 0) 681 if(lengthVectors >= 0)
682 { 682 {
683 lengthSecs = ((hopSize*lengthVectors)+winSize)/sampleRate; 683 lengthSecs = ((hopSize*(lengthVectors-1))+winSize)/sampleRate;
684 if(lengthSecs < 0) { lengthSecs = 0; } 684 if(lengthSecs < 0) { lengthSecs = 0; }
685 [queryLengthSeconds setDoubleValue:lengthSecs]; 685 [queryLengthSeconds setDoubleValue:lengthSecs];
686 } 686 }
687 } 687 }
688 688
689 // Query start 689 // Query start
690 if (ed == queryStartSeconds) 690 if (ed == queryStartSeconds)
691 { 691 {
692 if(startSecs >= 0) 692 if(startSecs >= 0)
693 { 693 {
694 startVectors = ceil(((startSecs*sampleRate)-winSize)/hopSize); 694 startVectors = ceil((startSecs*sampleRate)/hopSize);
695 if(startVectors < 0) { startVectors = 0; } 695 if(startVectors < 0) { startVectors = 0; }
696 [queryStartVectors setDoubleValue:startVectors]; 696 [queryStartVectors setDoubleValue:startVectors];
697 } 697 }
698 } 698 }
699 if (ed == queryStartVectors) 699 if (ed == queryStartVectors)
700 { 700 {
701 if(startVectors >= 0) 701 if(startVectors >= 0)
702 { 702 {
703 startSecs = ((hopSize*startVectors)+winSize)/sampleRate; 703 startSecs = (hopSize*startVectors)/sampleRate;
704 if(startSecs < 0) { startSecs = 0; } 704 if(startSecs < 0) { startSecs = 0; }
705 [queryStartSeconds setDoubleValue:startSecs]; 705 [queryStartSeconds setDoubleValue:startSecs];
706 } 706 }
707 } 707 }
708 708