Lines Matching refs:zp
43 struct snd_soundfont *sf, struct snd_sf_zone *zp);
64 static void delete_preset(struct snd_sf_list *sflist, struct snd_sf_zone *zp);
349 struct snd_sf_zone *zp)
351 zp->counter = sflist->zone_counter++;
362 struct snd_sf_zone *zp;
364 if ((zp = kzalloc(sizeof(*zp), GFP_KERNEL)) == NULL)
366 zp->next = sf->zones;
367 sf->zones = zp;
369 init_voice_info(&zp->v);
371 set_zone_counter(sflist, sf, zp);
372 return zp;
426 struct snd_sf_zone *zp, *prevp;
444 for (zp = sf->zones; zp; prevp = zp, zp = zp->next) {
445 if (zp->mapped &&
446 zp->instr == map.map_instr &&
447 zp->bank == map.map_bank &&
448 zp->v.low == map.map_key &&
449 zp->v.start == map.src_instr &&
450 zp->v.end == map.src_bank &&
451 zp->v.fixkey == map.src_key) {
455 prevp->next = zp->next;
456 zp->next = sf->zones;
457 sf->zones = zp;
460 set_zone_counter(sflist, sf, zp);
466 if ((zp = sf_zone_new(sflist, sf)) == NULL)
469 zp->bank = map.map_bank;
470 zp->instr = map.map_instr;
471 zp->mapped = 1;
473 zp->v.low = map.map_key;
474 zp->v.high = map.map_key;
476 zp->v.start = map.src_instr;
477 zp->v.end = map.src_bank;
478 zp->v.fixkey = map.src_key;
479 zp->v.sf_id = sf->id;
481 add_preset(sflist, zp);
1190 delete_preset(struct snd_sf_list *sflist, struct snd_sf_zone *zp)
1195 if ((index = get_index(zp->bank, zp->instr, zp->v.low)) < 0)
1198 while (p->next_instr == zp) {
1199 p->next_instr = zp->next_instr;
1200 zp = zp->next_zone;
1201 if (zp == NULL)
1253 struct snd_sf_zone *zp;
1257 for (zp = sflist->presets[index]; zp; zp = zp->next_instr) {
1258 if (zp->instr == preset && zp->bank == bank)
1259 return zp;
1273 struct snd_sf_zone *zp;
1276 zp = search_first_zone(sflist, bank, preset, *notep);
1278 for (; zp; zp = zp->next_zone) {
1279 if (*notep >= zp->v.low && *notep <= zp->v.high &&
1280 vel >= zp->v.vellow && vel <= zp->v.velhigh) {
1281 if (zp->mapped) {
1283 int key = zp->v.fixkey;
1284 preset = zp->v.start;
1285 bank = zp->v.end;
1298 table[nvoices++] = zp;
1353 struct snd_sf_zone *zp, *nextzp;
1358 for (zp = sf->zones; zp; zp = nextzp) {
1359 nextzp = zp->next;
1360 kfree(zp);
1441 struct snd_sf_zone *zp, *nextzp;
1453 for (zp = sf->zones; zp; zp = nextzp) {
1454 if (zp->counter < sflist->zone_locked)
1456 nextzp = zp->next;
1458 kfree(zp);