Home | History | Annotate | Download | only in midiplay

Lines Matching defs:ntrks

405 	int format, ntrks, divfmt, ticks, t;
480 ntrks = GET16(buf + MARK_LEN + SIZE_LEN + 2);
523 "format=%d ntrks=%d abs fps=%u subdivs=%u\n" :
524 "format=%d ntrks=%d divisions=%u\n",
525 format, ntrks, tempo_abs ? divfmt : ticks, ticks);
530 if (ntrks == 0)
532 tracks = malloc(ntrks * sizeof(struct track));
535 for (t = 0; t < ntrks;) {
573 BuildHeap(tracks, ntrks); /* tracks[0].indirect is always next */
690 ntrks = ShrinkHeap(tracks, ntrks); /* track gone */
691 if (0 == ntrks)
695 Heapify(tracks, ntrks, 0);
848 Heapify(struct track *t, int ntrks, int node)
855 if (rc >= ntrks) { /* no right child */
856 if (lc >= ntrks) /* node is a leaf */
876 Heapify(t, ntrks, mn); /* gcc groks tail recursion */
880 BuildHeap(struct track *t, int ntrks)
884 for (node = PARENT(ntrks - 1); node --> 0;)
885 Heapify(t, ntrks, node);
890 * rightmost bottom-level leaf to the root and decrement ntrks. It remains to
891 * run Heapify, which the caller is expected to do. Returns the new ntrks.
894 ShrinkHeap(struct track *t, int ntrks)
898 --ntrks;
899 for (ancest = PARENT(ntrks); ancest > 0; ancest = PARENT(ancest))
900 DTIME(ntrks) += DTIME(ancest);
901 t[0].indirect = t[ntrks].indirect;
902 return ntrks;