• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/sound/drivers/opl3/

Lines Matching refs:voice

36  *      with another voice to a 4 OP voice. For example voice 0
37 * can be connected with voice 3. The operators of voice 3 are
38 * used as operators 3 and 4 of the new 4 OP voice.
39 * In this case the 2 OP voice number 0 is the 'first half' and
40 * voice 3 is the second.
72 static int snd_opl3_set_voice(struct snd_opl3 * opl3, struct snd_dm_fm_voice * voice);
135 struct snd_dm_fm_voice voice;
136 if (copy_from_user(&voice, argp, sizeof(struct snd_dm_fm_voice)))
138 return snd_opl3_set_voice(opl3, &voice);
370 /* Get register array side and offset of voice */
409 if (note->voice >= ((opl3->fm_mode == SNDRV_DM_FM_MODE_OPL3) ?
413 /* Get register array side and offset of voice */
414 if (note->voice < MAX_OPL2_VOICES) {
417 voice_offset = note->voice;
421 voice_offset = note->voice - MAX_OPL2_VOICES;
438 /* Set OPL3 KEYON_BLOCK register of requested voice */
446 static int snd_opl3_set_voice(struct snd_opl3 * opl3, struct snd_dm_fm_voice * voice)
456 if (voice->op > 1)
460 if (voice->voice >= ((opl3->fm_mode == SNDRV_DM_FM_MODE_OPL3) ?
464 /* Get register array side and offset of voice */
465 if (voice->voice < MAX_OPL2_VOICES) {
468 voice_offset = voice->voice;
472 voice_offset = voice->voice - MAX_OPL2_VOICES;
475 op_offset = snd_opl3_regmap[voice_offset][voice->op];
479 if (voice->am)
482 if (voice->vibrato)
485 if (voice->do_sustain)
488 if (voice->kbd_scale)
491 reg_val |= voice->harmonic & OPL3_MULTIPLE_MASK;
493 /* Set OPL3 AM_VIB register of requested voice/operator */
498 reg_val = (voice->scale_level << 6) & OPL3_KSL_MASK;
500 reg_val |= ~voice->volume & OPL3_TOTAL_LEVEL_MASK;
502 /* Set OPL3 KSL_LEVEL register of requested voice/operator */
507 reg_val = (voice->attack << 4) & OPL3_ATTACK_MASK;
509 reg_val |= voice->decay & OPL3_DECAY_MASK;
511 /* Set OPL3 ATTACK_DECAY register of requested voice/operator */
516 reg_val = (voice->sustain << 4) & OPL3_SUSTAIN_MASK;
518 reg_val |= voice->release & OPL3_RELEASE_MASK;
520 /* Set OPL3 SUSTAIN_RELEASE register of requested voice/operator */
525 reg_val = (voice->feedback << 1) & OPL3_FEEDBACK_MASK;
527 if (voice->connection)
531 if (voice->left)
533 if (voice->right)
536 /* Feedback/connection bits are applicable to voice */
541 reg_val = voice->waveform & OPL3_WAVE_SELECT_MASK;