Revision 9:20bb004a36de CollidoscopeApp/src

View differences:

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