Lines Matching refs:voice
85 static int opl3_kill_note(int dev, int voice, int note, int velocity);
268 static int opl3_kill_note (int devno, int voice, int note, int velocity) in opl3_kill_note() argument
272 if (voice < 0 || voice >= devc->nr_voice) in opl3_kill_note()
275 devc->v_alloc->map[voice] = 0; in opl3_kill_note()
277 map = &pv_map[devc->lv_map[voice]]; in opl3_kill_note()
282 opl3_command(map->ioaddr, KEYON_BLOCK + map->voice_num, devc->voc[voice].keyon_byte & ~0x20); in opl3_kill_note()
283 devc->voc[voice].keyon_byte = 0; in opl3_kill_note()
284 devc->voc[voice].bender = 0; in opl3_kill_note()
285 devc->voc[voice].volume = 64; in opl3_kill_note()
286 devc->voc[voice].panning = 0xffff; /* Not set */ in opl3_kill_note()
287 devc->voc[voice].bender_range = 200; in opl3_kill_note()
288 devc->voc[voice].orig_freq = 0; in opl3_kill_note()
289 devc->voc[voice].current_freq = 0; in opl3_kill_note()
290 devc->voc[voice].mode = 0; in opl3_kill_note()
310 static int opl3_set_instr (int dev, int voice, int instr_no) in opl3_set_instr() argument
312 if (voice < 0 || voice >= devc->nr_voice) in opl3_set_instr()
317 devc->act_i[voice] = &devc->i_map[instr_no]; in opl3_set_instr()
370 static void set_voice_volume(int voice, int volume, int main_vol) in set_voice_volume() argument
376 if (voice < 0 || voice >= devc->nr_voice) in set_voice_volume()
379 map = &pv_map[devc->lv_map[voice]]; in set_voice_volume()
380 instr = devc->act_i[voice]; in set_voice_volume()
388 if (devc->voc[voice].mode == 0) in set_voice_volume()
391 if (devc->voc[voice].mode == 2) in set_voice_volume()
457 static int opl3_start_note (int dev, int voice, int note, int volume) in opl3_start_note() argument
464 if (voice < 0 || voice >= devc->nr_voice) in opl3_start_note()
467 map = &pv_map[devc->lv_map[voice]]; in opl3_start_note()
468 pan = devc->voc[voice].panning; in opl3_start_note()
477 set_voice_volume(voice, volume, devc->voc[voice].volume); in opl3_start_note()
506 instr = devc->act_i[voice]; in opl3_start_note()
513 printk(KERN_WARNING "opl3: Initializing voice %d with undefined instrument\n", voice); in opl3_start_note()
644 devc->voc[voice].mode = voice_mode; in opl3_start_note()
645 set_voice_volume(voice, volume, devc->voc[voice].volume); in opl3_start_note()
647 freq = devc->voc[voice].orig_freq = note_to_freq(note) / 1000; in opl3_start_note()
654 …freq = compute_finetune(devc->voc[voice].orig_freq, devc->voc[voice].bender, devc->voc[voice].bend… in opl3_start_note()
655 devc->voc[voice].current_freq = freq; in opl3_start_note()
669 devc->voc[voice].keyon_byte = data; in opl3_start_note()
845 static void opl3_panning(int dev, int voice, int value) in opl3_panning() argument
848 if (voice < 0 || voice >= devc->nr_voice) in opl3_panning()
851 devc->voc[voice].panning = value; in opl3_panning()
864 static void opl3_aftertouch(int dev, int voice, int pressure) in opl3_aftertouch() argument
870 if (voice < 0 || voice >= devc->nr_voice) in opl3_aftertouch()
873 map = &pv_map[devc->lv_map[voice]]; in opl3_aftertouch()
882 instr = devc->act_i[voice]; in opl3_aftertouch()
887 if (devc->voc[voice].mode == 4) in opl3_aftertouch()
931 static void bend_pitch(int dev, int voice, int value) in bend_pitch() argument
937 map = &pv_map[devc->lv_map[voice]]; in bend_pitch()
942 devc->voc[voice].bender = value; in bend_pitch()
945 if (!(devc->voc[voice].keyon_byte & 0x20)) in bend_pitch()
950 …freq = compute_finetune(devc->voc[voice].orig_freq, devc->voc[voice].bender, devc->voc[voice].bend… in bend_pitch()
951 devc->voc[voice].current_freq = freq; in bend_pitch()
961 devc->voc[voice].keyon_byte = data; in bend_pitch()
965 static void opl3_controller (int dev, int voice, int ctrl_num, int value) in opl3_controller() argument
967 if (voice < 0 || voice >= devc->nr_voice) in opl3_controller()
973 bend_pitch(dev, voice, value); in opl3_controller()
977 devc->voc[voice].bender_range = value; in opl3_controller()
981 devc->voc[voice].volume = value / 128; in opl3_controller()
985 devc->voc[voice].panning = (value * 2) - 128; in opl3_controller()
990 static void opl3_bender(int dev, int voice, int value) in opl3_bender() argument
992 if (voice < 0 || voice >= devc->nr_voice) in opl3_bender()
995 bend_pitch(dev, voice, value - 8192); in opl3_bender()
1064 static void opl3_setup_voice(int dev, int voice, int chn) in opl3_setup_voice() argument
1068 if (voice < 0 || voice >= devc->nr_voice) in opl3_setup_voice()
1076 opl3_set_instr(dev, voice, info->pgm_num); in opl3_setup_voice()
1078 devc->voc[voice].bender = 0; in opl3_setup_voice()
1079 devc->voc[voice].bender_range = info->bender_range; in opl3_setup_voice()
1080 devc->voc[voice].volume = info->controllers[CTL_MAIN_VOLUME]; in opl3_setup_voice()
1081 devc->voc[voice].panning = (info->controllers[CTL_PAN] * 2) - 128; in opl3_setup_voice()