Mercurial > hg > audiodb
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 |