Lines Matching refs:track

103 	void doPorta(int track) {  in doPorta()  argument
104 if (_track[track].portaToNote && _track[track].portaToNoteSpeed) { in doPorta()
105 int distance = _track[track].period - _track[track].portaToNote; in doPorta()
108 if ((sign * distance) > _track[track].portaToNoteSpeed) in doPorta()
109 _track[track].period -= sign * _track[track].portaToNoteSpeed; in doPorta()
111 _track[track].period = _track[track].portaToNote; in doPorta()
114 void doVibrato(int track) { in doVibrato() argument
115 _track[track].vibrato = in doVibrato()
116 (_track[track].vibratoDepth * sinetable[_track[track].vibratoPos]) / 128; in doVibrato()
117 _track[track].vibratoPos += _track[track].vibratoSpeed; in doVibrato()
118 _track[track].vibratoPos %= 64; in doVibrato()
120 void doVolSlide(int track, byte ex, byte ey) { in doVolSlide() argument
121 int vol = _track[track].vol; in doVolSlide()
132 _track[track].vol = vol; in doVolSlide()
179 for (int track = 0; track < 4; track++) { in updateRow() local
180 _track[track].arpeggio = false; in updateRow()
181 _track[track].vibrato = 0; in updateRow()
182 _track[track].delaySampleTick = 0; in updateRow()
184 _module.pattern[_module.songpos[_pos]][_row][track]; in updateRow()
189 if (_track[track].sample != note.sample) { in updateRow()
190 _track[track].vibratoPos = 0; in updateRow()
192 _track[track].sample = note.sample; in updateRow()
193 _track[track].lastSample = note.sample; in updateRow()
194 _track[track].finetune = _module.sample[note.sample - 1].finetune; in updateRow()
195 _track[track].vol = _module.sample[note.sample - 1].vol; in updateRow()
200 if (_track[track].finetune) in updateRow()
201 _track[track].period = _module.noteToPeriod(note.note, _track[track].finetune); in updateRow()
203 _track[track].period = note.period; in updateRow()
205 _track[track].offset = Offset(0); in updateRow()
206 _track[track].sample = _track[track].lastSample; in updateRow()
218 _track[track].arpeggio = true; in updateRow()
219 byte trackNote = _module.periodToNote(_track[track].period); in updateRow()
220 _track[track].arpeggioNotes[0] = trackNote; in updateRow()
221 _track[track].arpeggioNotes[1] = trackNote + ex; in updateRow()
222 _track[track].arpeggioNotes[2] = trackNote + ey; in updateRow()
231 _track[track].portaToNote = note.period; in updateRow()
233 _track[track].portaToNoteSpeed = exy; in updateRow()
237 _track[track].vibratoSpeed = ex; in updateRow()
238 _track[track].vibratoDepth = ey; in updateRow()
242 doPorta(track); in updateRow()
243 doVolSlide(track, ex, ey); in updateRow()
246 doVibrato(track); in updateRow()
247 doVolSlide(track, ex, ey); in updateRow()
251 _track[track].offset = Offset(exy * 256); in updateRow()
252 setChannelOffset(track, _track[track].offset); in updateRow()
262 _track[track].vol = exy; in updateRow()
273 _track[track].period -= exy; in updateRow()
276 _track[track].period += exy; in updateRow()
279 _track[track].finetune = ey; in updateRow()
280 _module.sample[_track[track].sample].finetune = ey; in updateRow()
283 _track[track].period = _module.noteToPeriod(note.note, ey); in updateRow()
285 _track[track].period = note.period; in updateRow()
302 vol = _track[track].vol + ey; in updateRow()
305 _track[track].vol = vol; in updateRow()
308 vol = _track[track].vol - ey; in updateRow()
311 _track[track].vol = vol; in updateRow()
314 _track[track].delaySampleTick = ey; in updateRow()
315 _track[track].delaySample = _track[track].sample; in updateRow()
316 _track[track].sample = 0; in updateRow()
317 _track[track].vol = 0; in updateRow()
342 for (int track = 0; track < 4; track++) { in updateEffects() local
343 _track[track].vibrato = 0; in updateEffects()
346 _module.pattern[_module.songpos[_pos]][_row][track]; in updateEffects()
358 _track[track].period = in updateEffects()
359 _module.noteToPeriod(_track[track].arpeggioNotes[idx], in updateEffects()
360 _track[track].finetune); in updateEffects()
364 _track[track].period -= exy; in updateEffects()
367 _track[track].period += exy; in updateEffects()
370 doPorta(track); in updateEffects()
373 doVibrato(track); in updateEffects()
376 doPorta(track); in updateEffects()
377 doVolSlide(track, ex, ey); in updateEffects()
380 doVibrato(track); in updateEffects()
381 doVolSlide(track, ex, ey); in updateEffects()
384 doVolSlide(track, ex, ey); in updateEffects()
392 _track[track].offset = Offset(0); in updateEffects()
395 if (_tick == _track[track].delaySampleTick) { in updateEffects()
396 _track[track].sample = _track[track].delaySample; in updateEffects()
397 _track[track].offset = Offset(0); in updateEffects()
398 if (_track[track].sample) in updateEffects()
399 _track[track].vol = _module.sample[_track[track].sample - 1].vol; in updateEffects()
413 int track; in interrupt() local
415 for (track = 0; track < 4; track++) { in interrupt()
416 _track[track].offset = getChannelOffset(track); in interrupt()
417 if (_tick == 0 && _track[track].arpeggio) { in interrupt()
418 _track[track].period = _module.noteToPeriod(_track[track].arpeggioNotes[0], in interrupt()
419 _track[track].finetune); in interrupt()
453 for (track = 0; track < 4; track++) { in interrupt()
454 setChannelVolume(track, _track[track].vol); in interrupt()
455 setChannelPeriod(track, _track[track].period + _track[track].vibrato); in interrupt()
456 if (_track[track].sample) { in interrupt()
457 sample_t &sample = _module.sample[_track[track].sample - 1]; in interrupt()
458 setChannelData(track, in interrupt()
463 setChannelOffset(track, _track[track].offset); in interrupt()
464 _track[track].sample = 0; in interrupt()