Lines Matching refs:trailer
75 static int readtrailer(sox_format_t * ft, struct smptrailer *trailer) in readtrailer() argument
82 lsx_readdw(ft, &(trailer->loops[i].start)); in readtrailer()
83 ft->oob.loops[i].start = trailer->loops[i].start; in readtrailer()
84 lsx_readdw(ft, &(trailer->loops[i].end)); in readtrailer()
86 trailer->loops[i].end - trailer->loops[i].start; in readtrailer()
87 lsx_readb(ft, &(trailer->loops[i].type)); in readtrailer()
88 ft->oob.loops[i].type = trailer->loops[i].type; in readtrailer()
89 lsx_readw(ft, &(trailer->loops[i].count)); in readtrailer()
90 ft->oob.loops[i].count = trailer->loops[i].count; in readtrailer()
93 if (lsx_readbuf(ft, trailer->markers[i].name, MARKERLEN) != MARKERLEN) in readtrailer()
98 trailer->markers[i].name[MARKERLEN] = 0; in readtrailer()
99 lsx_readdw(ft, &(trailer->markers[i].position)); in readtrailer()
101 lsx_readsb(ft, &(trailer->MIDInote)); in readtrailer()
102 lsx_readdw(ft, &(trailer->rate)); in readtrailer()
103 lsx_readdw(ft, &(trailer->SMPTEoffset)); in readtrailer()
104 lsx_readdw(ft, &(trailer->CycleSize)); in readtrailer()
111 static void settrailer(sox_format_t * ft, struct smptrailer *trailer, sox_rate_t rate) in settrailer() argument
117 trailer->loops[i].start = ft->oob.loops[i].start > UINT_MAX in settrailer()
121 trailer->loops[i].end = ft->oob.loops[i].start + ft->oob.loops[i].length > UINT_MAX in settrailer()
124 trailer->loops[i].type = ft->oob.loops[i].type; in settrailer()
125 trailer->loops[i].count = ft->oob.loops[i].count; in settrailer()
128 trailer->loops[i].start = ~0u; in settrailer()
130 trailer->loops[i].end = 0; in settrailer()
131 trailer->loops[i].type = 0; in settrailer()
132 trailer->loops[i].count = 0; in settrailer()
136 strcpy(trailer->markers[i].name, " "); in settrailer()
137 trailer->markers[i].position = ~0u; in settrailer()
139 trailer->MIDInote = MIDI_UNITY; /* Unity play back */ in settrailer()
140 trailer->rate = rate; in settrailer()
141 trailer->SMPTEoffset = 0; in settrailer()
142 trailer->CycleSize = ~0u; in settrailer()
149 static int writetrailer(sox_format_t * ft, struct smptrailer *trailer) in writetrailer() argument
155 lsx_writedw(ft, trailer->loops[i].start); in writetrailer()
156 lsx_writedw(ft, trailer->loops[i].end); in writetrailer()
157 lsx_writeb(ft, trailer->loops[i].type); in writetrailer()
158 lsx_writew(ft, trailer->loops[i].count); in writetrailer()
161 if (lsx_writes(ft, trailer->markers[i].name) == SOX_EOF) in writetrailer()
166 lsx_writedw(ft, trailer->markers[i].position); in writetrailer()
168 lsx_writeb(ft, (uint8_t)(trailer->MIDInote)); in writetrailer()
169 lsx_writedw(ft, trailer->rate); in writetrailer()
170 lsx_writedw(ft, trailer->SMPTEoffset); in writetrailer()
171 lsx_writedw(ft, trailer->CycleSize); in writetrailer()
215 struct smptrailer trailer; in sox_smpstartread() local
267 if (readtrailer(ft, &trailer)) in sox_smpstartread()
280 ft->signal.rate = (int) trailer.rate; in sox_smpstartread()
288 for(i = 0; i < 8; i++) if (1 || trailer.loops[i].count) { in sox_smpstartread()
289 lsx_report("Loop %lu: start: %6d", (unsigned long)i, trailer.loops[i].start); in sox_smpstartread()
290 lsx_report(" end: %6d", trailer.loops[i].end); in sox_smpstartread()
291 lsx_report(" count: %6d", trailer.loops[i].count); in sox_smpstartread()
292 switch(trailer.loops[i].type) { in sox_smpstartread()
298 lsx_report("MIDI Note number: %d", trailer.MIDInote); in sox_smpstartread()
302 if (trailer.loops[i].type) in sox_smpstartread()
305 ft->oob.loops[i].type = trailer.loops[i].type; in sox_smpstartread()
306 ft->oob.loops[i].count = trailer.loops[i].count; in sox_smpstartread()
307 ft->oob.loops[i].start = trailer.loops[i].start; in sox_smpstartread()
308 ft->oob.loops[i].length = trailer.loops[i].end in sox_smpstartread()
309 - trailer.loops[i].start; in sox_smpstartread()
312 ft->oob.instr.MIDInote = trailer.MIDInote; in sox_smpstartread()
392 struct smptrailer trailer; in sox_smpstopwrite() local
395 settrailer(ft, &trailer, ft->signal.rate); in sox_smpstopwrite()
396 writetrailer(ft, &trailer); in sox_smpstopwrite()