Revision 9:20bb004a36de CollidoscopeApp
| CollidoscopeApp/src/CollidoscopeApp.cpp | ||
|---|---|---|
| 124 | 124 |
{
|
| 125 | 125 |
char c = event.getChar(); |
| 126 | 126 |
|
| 127 |
const size_t waveIdx = 0; |
|
| 128 |
|
|
| 127 | 129 |
switch (c){
|
| 128 | 130 |
case 'r' : |
| 129 |
mAudioEngine.record( 0 );
|
|
| 131 |
mAudioEngine.record( waveIdx );
|
|
| 130 | 132 |
break; |
| 131 | 133 |
|
| 132 | 134 |
case 'w': {
|
| 133 | 135 |
|
| 134 |
mWaves[0]->getSelection().setSize(mWaves[0]->getSelection().getSize() + 1);
|
|
| 136 |
mWaves[waveIdx]->getSelection().setSize(mWaves[waveIdx]->getSelection().getSize() + 1);
|
|
| 135 | 137 |
|
| 136 |
size_t numSelectionChunks = mWaves[0]->getSelection().getSize();
|
|
| 138 |
size_t numSelectionChunks = mWaves[waveIdx]->getSelection().getSize();
|
|
| 137 | 139 |
// how many samples in one selection ? |
| 138 | 140 |
size_t selectionSize = numSelectionChunks * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()); |
| 139 | 141 |
|
| 140 |
mAudioEngine.setSelectionSize(0, selectionSize); |
|
| 141 |
}; |
|
| 142 |
break; |
|
| 143 |
|
|
| 144 |
case 'e': {
|
|
| 145 |
mWaves[1]->getSelection().setSize(mWaves[1]->getSelection().getSize() + 1); |
|
| 146 |
|
|
| 147 |
size_t numSelectionChunks = mWaves[1]->getSelection().getSize(); |
|
| 148 |
// how many samples in one selection ? |
|
| 149 |
size_t selectionSize = numSelectionChunks * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()); |
|
| 150 |
|
|
| 151 |
mAudioEngine.setSelectionSize(1, selectionSize); |
|
| 142 |
mAudioEngine.setSelectionSize(waveIdx, selectionSize); |
|
| 152 | 143 |
}; |
| 153 | 144 |
break; |
| 154 | 145 |
|
| 155 | 146 |
case 's': {
|
| 156 | 147 |
|
| 157 |
mWaves[0]->getSelection().setSize( mWaves[0]->getSelection().getSize() - 1 );
|
|
| 148 |
mWaves[waveIdx]->getSelection().setSize( mWaves[waveIdx]->getSelection().getSize() - 1 );
|
|
| 158 | 149 |
|
| 159 |
size_t selectionSize = mWaves[0]->getSelection().getSize() *(mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
|
|
| 160 |
mAudioEngine.setSelectionSize( 0, selectionSize );
|
|
| 150 |
size_t selectionSize = mWaves[waveIdx]->getSelection().getSize() *(mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks());
|
|
| 151 |
mAudioEngine.setSelectionSize( waveIdx, selectionSize );
|
|
| 161 | 152 |
}; |
| 162 | 153 |
break; |
| 163 | 154 |
|
| 164 | 155 |
case 'd': {
|
| 165 | 156 |
|
| 166 |
for( size_t waveIdx = 0; waveIdx < NUM_WAVES; waveIdx++){
|
|
| 167 |
size_t selectionStart = mWaves[waveIdx]->getSelection().getStart(); |
|
| 168 |
mWaves[waveIdx]->getSelection().setStart( selectionStart + 1 ); |
|
| 157 |
size_t selectionStart = mWaves[waveIdx]->getSelection().getStart(); |
|
| 158 |
mWaves[waveIdx]->getSelection().setStart( selectionStart + 1 ); |
|
| 169 | 159 |
|
| 170 |
selectionStart = mWaves[waveIdx]->getSelection().getStart(); |
|
| 171 |
mAudioEngine.setSelectionStart( waveIdx, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) ); |
|
| 172 |
} |
|
| 160 |
selectionStart = mWaves[waveIdx]->getSelection().getStart(); |
|
| 161 |
mAudioEngine.setSelectionStart( waveIdx, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) ); |
|
| 173 | 162 |
}; |
| 174 | 163 |
|
| 175 | 164 |
break; |
| 176 | 165 |
|
| 177 | 166 |
case 'a': {
|
| 178 |
size_t selectionStart = mWaves[0]->getSelection().getStart();
|
|
| 167 |
size_t selectionStart = mWaves[waveIdx]->getSelection().getStart();
|
|
| 179 | 168 |
|
| 180 | 169 |
if ( selectionStart == 0 ) |
| 181 | 170 |
return; |
| 182 | 171 |
|
| 183 |
mWaves[0]->getSelection().setStart( selectionStart - 1 );
|
|
| 172 |
mWaves[waveIdx]->getSelection().setStart( selectionStart - 1 );
|
|
| 184 | 173 |
|
| 185 |
selectionStart = mWaves[0]->getSelection().getStart();
|
|
| 174 |
selectionStart = mWaves[waveIdx]->getSelection().getStart();
|
|
| 186 | 175 |
|
| 187 |
mAudioEngine.setSelectionStart( 0, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) );
|
|
| 176 |
mAudioEngine.setSelectionStart( waveIdx, selectionStart * (mConfig.getWaveLen() * mAudioEngine.getSampleRate() / mConfig.getNumChunks()) );
|
|
| 188 | 177 |
}; |
| 189 | 178 |
break; |
| 190 | 179 |
|
| 191 |
|
|
| 192 |
case 'p': |
|
| 193 |
|
|
| 194 |
mWaves[0]->setCursorPos( 4, mWaves[0]->getSelection().getStart(), *mDrawInfos[0] ) ; |
|
| 195 |
break; |
|
| 196 |
|
|
| 197 | 180 |
case 'f': |
| 198 | 181 |
setFullScreen( !isFullScreen() ); |
| 199 | 182 |
break; |
| ... | ... | |
| 202 | 185 |
static bool isOn = false; |
| 203 | 186 |
isOn = !isOn; |
| 204 | 187 |
if ( isOn ){
|
| 205 |
mAudioEngine.loopOn( 0 ); |
|
| 206 |
mAudioEngine.loopOn( 1 ); |
|
| 188 |
mAudioEngine.loopOn( waveIdx ); |
|
| 207 | 189 |
} |
| 208 | 190 |
else{
|
| 209 |
mAudioEngine.loopOff( 0 ); |
|
| 210 |
mAudioEngine.loopOff( 1 ); |
|
| 191 |
mAudioEngine.loopOff( waveIdx ); |
|
| 211 | 192 |
} |
| 212 | 193 |
}; |
| 213 | 194 |
break; |
| 214 | 195 |
|
| 215 |
case 'm' : |
|
| 216 |
mAudioEngine.setGrainDurationCoeff(0, 8); |
|
| 217 |
break; |
|
| 218 |
|
|
| 219 |
case 'n': {
|
|
| 220 |
mAudioEngine.setGrainDurationCoeff( 0, 1 ); |
|
| 221 |
}; |
|
| 222 |
break; |
|
| 223 |
|
|
| 224 | 196 |
case '9': {
|
| 225 |
int c = mWaves[0]->getSelection().getParticleSpread();
|
|
| 197 |
int c = mWaves[waveIdx]->getSelection().getParticleSpread();
|
|
| 226 | 198 |
if ( c == 1 ) |
| 227 | 199 |
return; |
| 228 | 200 |
else |
| 229 | 201 |
c -= 1; |
| 230 | 202 |
|
| 231 |
mAudioEngine.setGrainDurationCoeff( 0, c ); |
|
| 232 |
mWaves[0]->getSelection().setParticleSpread( float( c ) ); |
|
| 233 |
mAudioEngine.setGrainDurationCoeff( 1, c ); |
|
| 234 |
mWaves[1]->getSelection().setParticleSpread( float( c ) ); |
|
| 203 |
mAudioEngine.setGrainDurationCoeff( waveIdx, c ); |
|
| 204 |
mWaves[waveIdx]->getSelection().setParticleSpread( float( c ) ); |
|
| 205 |
|
|
| 235 | 206 |
}; break; |
| 236 | 207 |
|
| 237 | 208 |
case '0': {
|
| 238 |
int c = mWaves[0]->getSelection().getParticleSpread();
|
|
| 209 |
int c = mWaves[waveIdx]->getSelection().getParticleSpread();
|
|
| 239 | 210 |
if ( c == 8 ) |
| 240 | 211 |
return; |
| 241 | 212 |
else |
| 242 | 213 |
c += 1; |
| 243 | 214 |
|
| 244 |
mAudioEngine.setGrainDurationCoeff( 0, c );
|
|
| 245 |
mWaves[0]->getSelection().setParticleSpread( float( c ) );
|
|
| 215 |
mAudioEngine.setGrainDurationCoeff( waveIdx, c );
|
|
| 216 |
mWaves[waveIdx]->getSelection().setParticleSpread( float( c ) );
|
|
| 246 | 217 |
}; break; |
| 247 |
|
|
| 248 | 218 |
} |
| 249 | 219 |
|
| 250 | 220 |
} |
Also available in: Unified diff