Mercurial > hg > screen-ui
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 } |