comparison src/melodyTriangle.cpp @ 14:578c1acf1cc4

Octave and amplitude now initialised correctly on birth; added binary app.
author samer
date Mon, 30 Jan 2012 23:31:39 +0000
parents 9e31c0507e65
children 9d7e139cd0a3
comparison
equal deleted inserted replaced
13:9e31c0507e65 14:578c1acf1cc4
148 //printf("not in bounding box \n"); 148 //printf("not in bounding box \n");
149 return false; 149 return false;
150 } 150 }
151 } 151 }
152 152
153 void melodyTriangle::sendStatus(Voice v){ 153 void melodyTriangle::sendPosition(Voice v){
154 154
155 ofxOscMessage m; 155 ofxOscMessage m;
156 ///track id x y left right top bottom area 156 ///track id x y left right top bottom area
157 m.setAddress( "/track2d" ); 157 m.setAddress( "/track2d" );
158 m.addIntArg( v.id ); 158 m.addIntArg( v.id );
167 void melodyTriangle::draw(){ 167 void melodyTriangle::draw(){
168 bool constrained=false; 168 bool constrained=false;
169 169
170 bool sendStart=false; 170 bool sendStart=false;
171 if (voiceGrabbed!=-1){ 171 if (voiceGrabbed!=-1){
172 if (mouseX!=(*voices[voiceGrabbed]).posx || mouseY!=(*voices[voiceGrabbed]).posy){ 172 Voice *vg=voices[voiceGrabbed];
173 //(*voices[voiceGrabbed]).posx=mouseX; 173 if (mouseX!=vg->posx || mouseY!=vg->posy){
174 //(*voices[voiceGrabbed]).posy=mouseY; 174 //vg->posx=mouseX;
175 if ((*voices[voiceGrabbed]).inTriangle && !isInTriangle(mouseX,mouseY)){ 175 //vg->posy=mouseY;
176 if (vg->inTriangle && !isInTriangle(mouseX,mouseY)){
176 ///death id 177 ///death id
177 178
178 if (ofDist((*voices[voiceGrabbed]).posx, (*voices[voiceGrabbed]).posy, mouseX, mouseY) 179 if (ofDist(vg->posx, vg->posy, mouseX, mouseY)
179 > BUFFER_ZONE) { 180 > BUFFER_ZONE) {
180 181
181 182
182 ofxOscMessage m; 183 ofxOscMessage m;
183 ///track id x y left right top bottom area 184 ///track id x y left right top bottom area
184 m.setAddress( "/death" ); 185 m.setAddress( "/death" );
185 m.addIntArg( (*voices[voiceGrabbed]).id ); 186 m.addIntArg( vg->id );
186 sender.sendMessage( m ); 187 sender.sendMessage( m );
187 188
188 printf("sent /death %i \n",(*voices[voiceGrabbed]).id); 189 printf("sent /death %i \n",vg->id);
189 (*voices[voiceGrabbed]).posx=mouseX; 190 vg->posx=mouseX;
190 (*voices[voiceGrabbed]).posy=mouseY; 191 vg->posy=mouseY;
191 } else { 192 } else {
192 //printf("e"); 193 //printf("e");
193 //On Edge 194 //On Edge
194 constrained=true; 195 constrained=true;
195 } 196 }
196 197
197 }else{ 198 }else{
198 (*voices[voiceGrabbed]).posx=mouseX; 199 vg->posx=mouseX;
199 (*voices[voiceGrabbed]).posy=mouseY; 200 vg->posy=mouseY;
200 //(*voices[voiceGrabbed]).posx=(*voices[voiceGrabbed]).posx*0.9+mouseX*0.1; 201 //vg->posx=vg->posx*0.9+mouseX*0.1;
201 //(*voices[voiceGrabbed]).posy=(*voices[voiceGrabbed]).posy*0.9+mouseY*0.1; 202 //vg->posy=vg->posy*0.9+mouseY*0.1;
202 203
203 204
204 } 205 }
205 if (!(*voices[voiceGrabbed]).inTriangle && isInTriangle(mouseX,mouseY)){ 206 if (!vg->inTriangle && isInTriangle(mouseX,mouseY)){
206 //birth id 207 //birth id
207 208
208 ofxOscMessage m; 209 ofxOscMessage m;
209 ///track id x y left right top bottom area 210 ///track id x y left right top bottom area
210 m.setAddress( "/birth" ); 211 m.setAddress( "/birth" );
211 m.addIntArg( (*voices[voiceGrabbed]).id ); 212 m.addIntArg( vg->id );
212 sender.sendMessage( m ); 213 sender.sendMessage( m );
213 214
214 printf("sent /birth %i \n",(*voices[voiceGrabbed]).id); 215 printf("sent /birth %i \n",vg->id);
216 sendOctave(vg->id,vg->octave);
217 sendAmplitude(vg->id,vg->amplitude);
215 sendStart=true; 218 sendStart=true;
216 } 219 }
217 220
218 221
219 //(*voices[voiceGrabbed]).inTriangle = isInTriangle(mouseX,mouseY); 222 //vg->inTriangle = isInTriangle(mouseX,mouseY);
220 223
221 (*voices[voiceGrabbed]).inTriangle = isInTriangle((*voices[voiceGrabbed]).posx,(*voices[voiceGrabbed]).posy); 224 vg->inTriangle = isInTriangle(vg->posx,vg->posy);
222 225
223 if ((*voices[voiceGrabbed]).inTriangle){ 226 if (vg->inTriangle){
224 sendStatus(*voices[voiceGrabbed]); 227 sendPosition(*vg);
225 if (sendStart){ 228 if (sendStart){
226 if ((*voices[voiceGrabbed]).isActive){ 229 if (vg->isActive){
227 ofxOscMessage m; 230 ofxOscMessage m;
228 ///track id x y left right top bottom area 231 ///track id x y left right top bottom area
229 m.setAddress( "/start" ); 232 m.setAddress( "/start" );
230 m.addIntArg( (*voices[voiceGrabbed]).id ); 233 m.addIntArg( vg->id );
231 sender.sendMessage( m ); 234 sender.sendMessage( m );
232 printf("sent /start %i \n",(*voices[voiceGrabbed]).id); 235 printf("sent /start %i \n",vg->id);
233 } 236 }
234 } 237 }
235 } 238 }
236 239
237 } 240 }