• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/sound/oss/emu10k1/

Lines Matching refs:voice

43 				    struct emu_voice *voice)
45 if(voice->pitch_target==PITCH_48000)
47 else if(voice->pitch_target<PITCH_48000)
49 else if(voice->pitch_target>=PITCH_96000)
51 else if(voice->pitch_target>=PITCH_85000)
53 else if(voice->pitch_target>=PITCH_80726)
55 else if(voice->pitch_target>=PITCH_67882)
57 else if(voice->pitch_target>=PITCH_57081)
67 * allocates the memory buffer for a voice. Two page tables are kept for each buffer.
116 * frees the memory buffer for a voice.
142 int emu10k1_voice_alloc(struct emu10k1_card *card, struct emu_voice *voice)
152 if (voice->flags & VOICE_FLAGS_STEREO) {
155 voicetable[i] = voice->usage;
156 voicetable[i + 1] = voice->usage;
162 voicetable[i] = voice->usage;
172 voice->card = card;
173 voice->num = i;
175 for (i = 0; i < (voice->flags & VOICE_FLAGS_STEREO ? 2 : 1); i++) {
176 DPD(2, " voice allocated -> %d\n", voice->num + i);
178 sblive_writeptr_tag(card, voice->num + i, IFATN, 0xffff,
188 void emu10k1_voice_free(struct emu_voice *voice)
190 struct emu10k1_card *card = voice->card;
196 if (voice->usage == VOICE_USAGE_FREE)
199 for (i = 0; i < (voice->flags & VOICE_FLAGS_STEREO ? 2 : 1); i++) {
200 DPD(2, " voice released -> %d\n", voice->num + i);
202 sblive_writeptr_tag(card, voice->num + i, DCYSUSV, 0,
209 sblive_writeptr(card, CPF, voice->num + i, 0);
212 voice->usage = VOICE_USAGE_FREE;
216 card->voicetable[voice->num] = VOICE_USAGE_FREE;
218 if (voice->flags & VOICE_FLAGS_STEREO)
219 card->voicetable[voice->num + 1] = VOICE_USAGE_FREE;
224 void emu10k1_voice_playback_setup(struct emu_voice *voice)
226 struct emu10k1_card *card = voice->card;
232 if (voice->flags & VOICE_FLAGS_STEREO) {
235 sblive_writeptr(card, CPF, voice->num, CPF_STEREO_MASK);
236 sblive_writeptr(card, CPF, voice->num + 1, CPF_STEREO_MASK);
239 sblive_writeptr(card, CPF, voice->num, 0);
242 if(!(voice->flags & VOICE_FLAGS_16BIT))
245 voice->start += start;
247 for (i = 0; i < (voice->flags & VOICE_FLAGS_STEREO ? 2 : 1); i++) {
249 sblive_writeptr(card, A_FXRT1, voice->num + i, voice->params[i].send_routing);
250 sblive_writeptr(card, A_FXRT2, voice->num + i, voice->params[i].send_routing2);
251 sblive_writeptr(card, A_SENDAMOUNTS, voice->num + i, voice->params[i].send_hgfe);
253 sblive_writeptr(card, FXRT, voice->num + i, voice->params[i].send_routing << 16);
258 sblive_writeptr(card, PTRX, voice->num + i, ((voice->params[i].send_dcba & 0xff) << 8)
259 | ((voice->params[i].send_dcba & 0xff00) >> 8));
261 sblive_writeptr_tag(card, voice->num + i,
263 DSL, voice->endloop | (voice->params[i].send_dcba & 0xff000000),
264 PSST, voice->startloop | ((voice->params[i].send_dcba & 0x00ff0000) << 8),
265 CCCA, (voice->start) | emu10k1_select_interprom(card,voice) |
266 ((voice->flags & VOICE_FLAGS_16BIT) ? 0 : CCCA_8BITSELECT),
292 voice->params[i].fc_target = 0xffff;
299 struct emu_voice *voice;
307 voice = first_voice + voicenum;
311 if (voice->flags & VOICE_FLAGS_STEREO) {
321 if(voice->flags & VOICE_FLAGS_16BIT) {
329 sblive_writeptr(card, CD0 + j, voice->num, sample);
332 sblive_writeptr(card, CCR_CACHEINVALIDSIZE, voice->num, 0);
333 if (voice->flags & VOICE_FLAGS_STEREO)
334 sblive_writeptr(card, CCR_CACHEINVALIDSIZE, voice->num + 1, 0);
336 sblive_writeptr(card, CCR_READADDRESS, voice->num, cra);
338 if (voice->flags & VOICE_FLAGS_STEREO)
339 sblive_writeptr(card, CCR_READADDRESS, voice->num + 1, cra);
342 sblive_writeptr(card, CCR_CACHEINVALIDSIZE, voice->num, ccis);
345 for (j = 0; j < (voice->flags & VOICE_FLAGS_STEREO ? 2 : 1); j++) {
346 sblive_writeptr_tag(card, voice->num + j,
347 IFATN, (voice->params[j].initial_fc << 8) | voice->params[j].initial_attn,
348 VTFT, (voice->params[j].volume_target << 16) | voice->params[j].fc_target,
349 CVCF, (voice->params[j].volume_target << 16) | voice->params[j].fc_target,
350 DCYSUSV, (voice->params[j].byampl_env_sustain << 8) | voice->params[j].byampl_env_decay,
353 emu10k1_clear_stop_on_loop(card, voice->num + j);
360 voice = first_voice + voicenum;
362 for (j = 0; j < (voice->flags & VOICE_FLAGS_STEREO ? 2 : 1); j++) {
363 sblive_writeptr(card, PTRX_PITCHTARGET, voice->num + j, voice->pitch_target);
366 sblive_writeptr(card, CPF_CURRENTPITCH, voice->num, voice->pitch_target);
368 sblive_writeptr(card, IP, voice->num + j, voice->initial_pitch);
376 struct emu_voice *voice;
384 voice = first_voice + voice_num;
386 for (j = 0; j < (voice->flags & VOICE_FLAGS_STEREO ? 2 : 1); j++) {
387 sblive_writeptr_tag(card, voice->num + j,