comparison jnmr/testApp.cpp @ 48:803edc47e825

Adding files, possibly some minor code changes
author Andrew N Robertson <andrew.robertson@eecs.qmul.ac.uk>
date Tue, 06 Mar 2012 17:11:46 +0000
parents 43edc8abe2a7
children 3ce6dadd8167
comparison
equal deleted inserted replaced
47:1726189a6317 48:803edc47e825
3 3
4 testApp::testApp(ofxArgs* args){ 4 testApp::testApp(ofxArgs* args){
5 this->args = args; 5 this->args = args;
6 } 6 }
7 7
8
8 //-------------------------------------------------------------- 9 //--------------------------------------------------------------
9 void testApp::setup(){ 10 void testApp::setup(){
10 11
11 12
12 13
15 16
16 myfile.open("../../../data/FilesOut/exampletest2.txt"); 17 myfile.open("../../../data/FilesOut/exampletest2.txt");
17 18
18 19
19 20
20 // diffFile.open("../../../data/FilesOut/diffTest.txt"); 21 // diffFile.open("../../../data/FilesOut/diffTest.txt");
21 22
22 midiEvents.fileOutput = &myfile; 23 midiEvents.fileOutput = &myfile;
23 midiEvents.differenceOutput = &diffFile; 24 midiEvents.differenceOutput = &diffFile;
24 25
25 26
100 void testApp::update(){ 101 void testApp::update(){
101 if (playing){ 102 if (playing){
102 midiEvents.updatePlayPosition();//this fn calls midiEvents.bayesStruct.updateBestEstimate(); 103 midiEvents.updatePlayPosition();//this fn calls midiEvents.bayesStruct.updateBestEstimate();
103 } 104 }
104 // drawer.tickLocation+=20; 105 // drawer.tickLocation+=20;
106 checkOSCmessages();
107
108 if (midiEvents.recordedEventTimes.size() > 0)
109 checkNewScoreNote();
110
111 }
112
113 void testApp::checkOSCmessages(){
105 114
106 // check for waiting messages 115 // check for waiting messages
107 while( receiver.hasWaitingMessages() ) 116 while( receiver.hasWaitingMessages() )
108 { 117 {
109 ofxOscMessage m; 118 ofxOscMessage m;
118 if (velocity != 0){ 127 if (velocity != 0){
119 if (readyToStart){ 128 if (readyToStart){
120 startPlaying(); 129 startPlaying();
121 printf("starting to PLAY!!!"); 130 printf("starting to PLAY!!!");
122 } 131 }
123 // printf("MIDI NOTE %i \n", newMidiOnPitch); 132 // printf("MIDI NOTE %i \n", newMidiOnPitch);
124 midiEvents.newNoteOnEvent(newMidiOnPitch, velocity, time); 133 midiEvents.newNoteOnEvent(newMidiOnPitch, velocity, time);
125 noteInStream.newNoteCounted(newMidiOnPitch);//counts notes for an overall score 134 noteInStream.newNoteCounted(newMidiOnPitch);//counts notes for an overall score
126 } 135 }
127 136
128 } 137 }
129 138
130 if ( m.getAddress() == "/setSpeedPrior" ) 139 if ( m.getAddress() == "/setSpeedPrior" )
131 { 140 {
132 float speedPrior = m.getArgAsFloat(0); 141 float speedPrior = m.getArgAsFloat(0);
135 //midiEvents.bayesStruct.speedPriorValue = speedPrior; 144 //midiEvents.bayesStruct.speedPriorValue = speedPrior;
136 } 145 }
137 146
138 if ( m.getAddress() == "/startplaying" ) 147 if ( m.getAddress() == "/startplaying" )
139 { 148 {
140 // prepareToStartOnNextNote(); 149 // prepareToStartOnNextNote();
141 startPlaying(); 150 startPlaying();
142 } 151 }
143 152
144 if ( m.getAddress() == "/stopplaying" ) 153 if ( m.getAddress() == "/stopplaying" )
145 { 154 {
149 158
150 if ( m.getAddress() == "/integratedEstimate" ) 159 if ( m.getAddress() == "/integratedEstimate" )
151 { 160 {
152 midiEvents.bayesStruct.usingIntegratedTempoEstimate = true; 161 midiEvents.bayesStruct.usingIntegratedTempoEstimate = true;
153 } 162 }
154 163
155 if ( m.getAddress() == "/MAPestimate" ) 164 if ( m.getAddress() == "/MAPestimate" )
156 { 165 {
157 midiEvents.bayesStruct.usingIntegratedTempoEstimate = false; 166 midiEvents.bayesStruct.usingIntegratedTempoEstimate = false;
158 } 167 }
159 168
169 midiEvents.runningInRealTime = false; 178 midiEvents.runningInRealTime = false;
170 } 179 }
171 180
172 if ( m.getAddress() == "/minimumSpeedRatio" ) 181 if ( m.getAddress() == "/minimumSpeedRatio" )
173 { 182 {
174 183
175 float minSpeed = m.getArgAsFloat(0); 184 float minSpeed = m.getArgAsFloat(0);
176 //printf("minimum speed received is %f and max is %f\n", minSpeed, midiEvents.bayesStruct.relativeSpeedLikelihood.getIndexInRealTerms(midiEvents.bayesStruct.relativeSpeedLikelihood.length-1)); 185 //printf("minimum speed received is %f and max is %f\n", minSpeed, midiEvents.bayesStruct.relativeSpeedLikelihood.getIndexInRealTerms(midiEvents.bayesStruct.relativeSpeedLikelihood.length-1));
177 if (minSpeed > 0 && minSpeed < midiEvents.bayesStruct.relativeSpeedLikelihood.getIndexInRealTerms(midiEvents.bayesStruct.relativeSpeedLikelihood.length-1)){ 186 if (minSpeed > 0 && minSpeed < midiEvents.bayesStruct.relativeSpeedLikelihood.getIndexInRealTerms(midiEvents.bayesStruct.relativeSpeedLikelihood.length-1)){
178 printf("minimum speed accepted is %f\n", minSpeed); 187 printf("minimum speed accepted is %f\n", minSpeed);
179 midiEvents.minimumMatchSpeed = minSpeed; 188 midiEvents.minimumMatchSpeed = minSpeed;
180 } 189 }
181 } 190 }
182 191
183 if ( m.getAddress() == "/maximumSpeedRatio" ) 192 if ( m.getAddress() == "/maximumSpeedRatio" )
184 { 193 {
185 194
186 float maxSpeed = m.getArgAsFloat(0); 195 float maxSpeed = m.getArgAsFloat(0);
187 //printf("minimum speed received is %f and max is %f\n", minSpeed, midiEvents.bayesStruct.relativeSpeedLikelihood.getIndexInRealTerms(midiEvents.bayesStruct.relativeSpeedLikelihood.length-1)); 196 //printf("minimum speed received is %f and max is %f\n", minSpeed, midiEvents.bayesStruct.relativeSpeedLikelihood.getIndexInRealTerms(midiEvents.bayesStruct.relativeSpeedLikelihood.length-1));
198 207
199 if (ratio > 0.001 && ratio < 0.6){ 208 if (ratio > 0.001 && ratio < 0.6){
200 midiEvents.likelihoodToNoiseRatio = ratio; 209 midiEvents.likelihoodToNoiseRatio = ratio;
201 printf("likelihood for events relative to noise uses ratio %f\n", ratio); 210 printf("likelihood for events relative to noise uses ratio %f\n", ratio);
202 } 211 }
203 212
204 } 213 }
205 214
206 if ( m.getAddress() == "/duration" ) 215 if ( m.getAddress() == "/duration" )
207 { 216 {
208 217
220 loadAnnotation(m.getArgAsInt32(0)); 229 loadAnnotation(m.getArgAsInt32(0));
221 } 230 }
222 231
223 232
224 }//end while osc 233 }//end while osc
225
226 if (midiEvents.recordedEventTimes.size() > 0)
227 checkNewScoreNote();
228 234
229 } 235 }
230 236
231 237
232 void testApp::checkNewScoreNote(){ 238 void testApp::checkNewScoreNote(){