• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/linux/linux-2.6/sound/synth/emux/

Lines Matching refs:patch

104  * close the patch if the patch was opened by this client.
121 * Deal with a soundfont patch. Any driver could use these routines
132 struct soundfont_patch_info patch;
136 if (count < (long)sizeof(patch)) {
137 snd_printk("patch record too small %ld\n", count);
140 if (copy_from_user(&patch, data, sizeof(patch)))
143 count -= sizeof(patch);
144 data += sizeof(patch);
146 if (patch.key != SNDRV_OSS_SOUNDFONT_PATCH) {
147 snd_printk("'The wrong kind of patch' %x\n", patch.key);
150 if (count < patch.len) {
151 snd_printk("Patch too short %ld, need %d\n", count, patch.len);
154 if (patch.len < 0) {
155 snd_printk("poor length %d\n", patch.len);
159 if (patch.type == SNDRV_SFNT_OPEN_PATCH) {
167 /* check if other client already opened patch */
177 switch (patch.type) {
188 /*rc = replace_data(&patch, data, count);*/
194 rc = probe_data(sflist, patch.optarg);
197 /* patch must be opened */
199 snd_printk("soundfont: remove_info: patch not opened\n");
203 bank = ((unsigned short)patch.optarg >> 8) & 0xff;
204 instr = (unsigned short)patch.optarg & 0xff;
228 /* open patch; create sf list */
312 * Close the current patch.
334 /* patch must be opened */
527 /* patch must be opened */
535 printk("Soundfont error: invalid patch zone length\n");
550 printk("Soundfont Error: patch length(%ld) is smaller than nvoices(%d)\n",
711 /* patch must be opened */
943 /* load GUS patch */
948 struct patch_info patch;
955 if (count < (long)sizeof(patch)) {
956 snd_printk("patch record too small %ld\n", count);
959 if (copy_from_user(&patch, data, sizeof(patch)))
962 count -= sizeof(patch);
963 data += sizeof(patch);
973 smp->v.end = patch.len;
974 smp->v.loopstart = patch.loop_start;
975 smp->v.loopend = patch.loop_end;
976 smp->v.size = patch.len;
980 if (!(patch.mode & WAVE_16_BITS))
982 if (patch.mode & WAVE_UNSIGNED)
985 if (!(patch.mode & (WAVE_LOOPING|WAVE_BIDIR_LOOP|WAVE_LOOP_BACK)))
987 if (patch.mode & WAVE_BIDIR_LOOP)
989 if (patch.mode & WAVE_LOOP_BACK)
992 if (patch.mode & WAVE_16_BITS) {
1029 zone->v.rate_offset = calc_rate_offset(patch.base_freq);
1030 note = freq_to_note(patch.base_note);
1033 zone->v.low = (freq_to_note(patch.low_note) + 99) / 100;
1034 zone->v.high = freq_to_note(patch.high_note) / 100;
1036 zone->v.pan = (patch.panning + 128) / 2;
1040 if (patch.mode & WAVE_ENVELOPES) {
1043 (patch.env_rate[0], 0, patch.env_offset[0]);
1045 (patch.env_rate[1], patch.env_offset[0],
1046 patch.env_offset[1]);
1048 (patch.env_rate[2], patch.env_offset[1],
1049 patch.env_offset[2]);
1051 (patch.env_rate[3], patch.env_offset[1],
1052 patch.env_offset[4]);
1054 (patch.env_rate[4], patch.env_offset[3],
1055 patch.env_offset[4]);
1057 (patch.env_rate[5], patch.env_offset[4],
1058 patch.env_offset[5]);
1062 zone->v.parm.voldcysus = (calc_gus_sustain(patch.env_offset[2]) << 8) |
1065 zone->v.attenuation = calc_gus_attenuation(patch.env_offset[0]);
1069 if (patch.mode & WAVE_FAST_RELEASE) {
1074 if (patch.mode & WAVE_TREMOLO) {
1075 int rate = (patch.tremolo_rate * 1000 / 38) / 42;
1076 zone->v.parm.tremfrq = ((patch.tremolo_depth / 2) << 8) | rate;
1079 if (patch.mode & WAVE_VIBRATO) {
1080 int rate = (patch.vibrato_rate * 1000 / 38) / 42;
1081 zone->v.parm.fm2frq2 = ((patch.vibrato_depth / 6) << 8) | rate;
1094 zone->instr = patch.instr_no;
1106 /* load GUS patch */