📄 prnt_hdr.c.old
字号:
/* psps - prints SPS data files * * This material contains proprietary software of Entropic Processing, Inc. * Any reproduction, distribution, or publication without the the prior * written permission of Entropic Processing, Inc. is strictly prohibited. * Any public distribution of copies of this work authorized in writing by * Entropic Processing, Inc. must bear the notice * * "Copyright 1986 Entropic Processing, Inc." * * psps - dumps an SPS data file on standard output. This verison by * Alan Parker, based on the SDS version by Joe Buck. */#ifdef SCCS static char *sccs_id = "%W% %G% EPI";#endif#include <stdio.h>#include <sps/sps.h>#define MAX(a,b) ((a>b) ? a : b)void tab(), print_generic();char *file_type();int idx_ok();static voidpr_zfunc(lev,label,zf)int lev;char *label;struct zfunc *zf;{ int i; if(zf == NULL) { tab (lev); printf("No %s zfunc\n",label); return; } tab (lev); printf ("%s: nsiz: %d, dsiz: %d, { ", label,zf->nsiz,zf->dsiz); for (i = 0; i < zf -> nsiz; i++) printf ("%.4g ", zf -> zeros[i]); printf ("} / { "); for (i = 0; i < zf -> dsiz; i++) printf ("%.4g ", zf -> poles[i]); printf ("}\n");}voidtab(indent) { while (indent--) printf(" ");}voidprint_common(indent, hdr)int indent;struct header *hdr;{ int i; char *text = hdr->variable.typtxt; char *comment = hdr->variable.comment; char *refer = hdr->variable.refer; printf("\n"); tab(indent); (void) printf("---Common Part of Header---\n"); tab(indent); (void) printf("File type: %s\n", file_type(hdr->common.type)); tab(indent); (void) printf("File header date: %s, header version: %s\n", hdr->common.date, hdr->common.hdvers); tab(indent); (void) printf("Produced by: %s, version: %s, of: %s\n", hdr->common.prog, hdr->common.vers, hdr->common.progdate); tab(indent); (void) printf("User: %s\n",hdr->common.user); tab(indent); (void) printf("Number of data records: %d\n",hdr->common.ndrec); tab(indent); (void) printf("Data is %s tagged.\n", (hdr->common.tag ? "" : "not")); tab(indent); (void) printf("Data format is %d doubles, %d floats, %d longs,\n", hdr->common.ndouble, hdr->common.nfloat, hdr->common.nlong); tab(indent); (void) printf("%d shorts, and %d chars (bytes).\n",hdr->common.nshort, hdr->common.nchar); if(text) { tab(indent); printf("typtxt: "); fputs(text,stdout); if(text[strlen(text)-1] != '\n') putchar('\n'); } if(refer) { tab(indent); printf("refer file: "); fputs(refer,stdout); if(text[strlen(refer)-1] != '\n') putchar('\n'); } if(comment) { tab(indent); printf("comment text: "); fputs(comment,stdout); if(text[strlen(comment)-1] != '\n') putchar('\n'); } if(hdr->variable.source[0]) { int i=1; tab(indent); printf("Source files: %s\n",hdr->variable.source[0]); while(hdr->variable.source[i] && i < hdr->variable.nnames){ tab(indent); printf(" %s\n",hdr->variable.source[i++]); } } if(hdr->variable.refhd) { tab(indent); printf("There is a reference header.\n"); } else { tab(indent); printf("There is no reference header.\n"); } for (i=0; i<NSPARES; i++) if (hdr->common.spares[i] != 0) { tab(indent); (void) printf("spares[%d]: 0x%x\n", i, (int) hdr->common.spares[i]); } return;}voidprint_generic(indent,hdr)int indent;struct header *hdr;{ char **names; int j,i,k=0,num,size,type; if(hdr->variable.ngen == 0) return; printf("\n"); tab(indent); (void) printf("---Generic Header---"); names = genhd_list(&num,hdr); for (i=0; i<num; i++) { char *cptr; double *dptr; float *fptr; long *lptr; short *sptr; type = genhd_type(names[i],&size,hdr); printf("\n"); tab(indent); printf("%s[0]: ",names[i]); k=0; cptr = get_genhd(names[i],hdr); if (type == CHAR && size > 1) { printf("%s",cptr); tab(indent); } else for (j=0;j<size; j++) { k++; if(k>7) { printf("\n"); tab(indent); printf("%s[%d]: ",names[i],j); k=0; } switch(type) { case DOUBLE: dptr = (double *)get_genhd(names[i],hdr); printf("%lg ",dptr[j]); break; case FLOAT: fptr = (float *)get_genhd(names[i],hdr); printf("%g ",fptr[j]); break; case SHORT: sptr = (short *)get_genhd(names[i],hdr); printf("%d ",sptr[j]); break; case LONG: lptr = (long *)get_genhd(names[i],hdr); printf("%ld ",lptr[j]); break; case CHAR: cptr = get_genhd(names[i],hdr); printf("0x%x ",cptr[j]); break; case CODED: { char **codes = genhd_codes(names[i],hdr); sptr = (short *)get_genhd(names[i],hdr); if(idx_ok(sptr[j],codes)) printf("%s ",codes[sptr[j]]); else printf("invalid code %d ",sptr[j]); break; } } } } printf("\n");}voidprint_ana(indent,hdr)int indent;struct header *hdr;{ struct ana_header *h = hdr->hd.ana; int i; printf("\n"); tab(indent); (void) printf("---ANA Header---\n"); tab(indent); (void) printf("start: %ld, nan: %ld, frmlen: %d\n", h->start, h->nan, (int) h->frmlen); tab(indent); (void) printf("order_vcd: %d, order_unvcd: %d, p_offset: %d\n", (int) h->order_vcd, (int) h->order_unvcd, (int) h->p_offset); tab(indent); if(idx_ok(h->piq_method,quant_methods)) (void) printf("piq_method: %s\n",quant_methods[h->piq_method]); else (void) printf("piq_method: invalid code %d\n",(int)h->piq_method); tab(indent); if(idx_ok(h->rcq_method,quant_methods)) (void) printf("rcq_method: %s\n",quant_methods[h->rcq_method]); else (void) printf("rcq_method: invalid code %d\n",(int)h->rcq_method); tab(indent); if(idx_ok(h->pwq_method,quant_methods)) (void) printf("pwq_method: %s\n",quant_methods[h->pwq_method]); else (void) printf("pwq_method: invalid code %d\n",(int)h->pwq_method); tab(indent); if(idx_ok(h->lpq_method,quant_methods)) (void) printf("lpq_method: %s\n",quant_methods[h->lpq_method]); else (void) printf("lpq_method: invalid code %d\n",(int)h->lpq_method); tab(indent); if(idx_ok(h->win_type,win_type_codes)) (void) printf("win_type: %s\n",win_type_codes[h->win_type]); else (void) printf("win_type: invalid code %d\n",(int)h->win_type); tab(indent); if(idx_ok(h->coh_method,coh_est_methods)) (void) printf("coh_method: %s\n",coh_est_methods[h->coh_method]); else (void) printf("coh_method: invalid code %d\n",(int)h->coh_method); tab(indent); (void) printf("src_sf: %g\n",h->src_sf); tab(indent); if(idx_ok(h->a_method,spec_ana_methods)) (void) printf("a_method: %s\n",spec_ana_methods[h->a_method]); else (void) printf("a_method: invalid code %d\n",(int)h->a_method); tab(indent); (void) printf("dcrem: %g, psynch: %d, maxpulses: %d\n", h->dcrem, (int)h->psynch, (int)h->maxpulses); tab(indent); (void) printf("maxlpc: %d, maxraw: %d, matsiz: %d\n", (int)h->maxlpc, (int)h->maxraw, (int)h->matsiz); tab(indent); (void) printf("rms_fullscale: %lf, sinc_flg: %d\n", h->rms_fullscale, (int)h->sinc_flg); for (i=0; i<ANA_SPARES; i++) if (h->spares[i] != 0) { tab(indent); (void) printf("spares[%d]: 0x%x\n", i, (int) h->spares[i]); } pr_zfunc(indent,"pre_emp",h->pre_emp); return;}voidprint_pitch(indent, hdr)int indent;struct header *hdr;{ struct pit_header *h = hdr->hd.pit; int i; printf("\n"); tab(indent); (void) printf("---Pitch File Header---\n"); tab(indent); (void) printf("start: %ld, nan: %ld, stepsz: %d\n", h->start, h->nan, (int) h->stepsz); tab(indent); (void) printf("u_pflt_order: %d, v_pflt_order: %d\n", (int) h->u_pflt_order, (int) h->v_pflt_order); tab(indent); if(idx_ok(h->win_type,win_type_codes)) (void) printf("win_type: %s\n",win_type_codes[h->win_type]); else (void) printf("win_type: invalid code %d\n",(int)h->win_type); tab(indent); if(idx_ok(h->coh_method,coh_est_methods)) (void) printf("coh_method: %s\n",coh_est_methods[h->coh_method]); else (void) printf("coh_method: invalid code %d\n",(int)h->coh_method); tab(indent); (void) printf("src_sf: %g\n",h->src_sf); tab(indent); (void) printf("dcrem: %s\n", (h->dcrem ? "YES":"NO")); tab(indent); if(idx_ok(h->p_method,pitch_methods)) (void) printf("p_method: %s\n",pitch_methods[h->p_method]); else (void) printf("p_method: invalid code %d\n",(int)h->p_method); tab(indent); (void) printf("pt_wsize: %d, uv_thresh: %g\n",(int)h->pt_wsize, h->uv_thresh); tab(indent); (void) printf("min_pp: %d, max_pp: %d, wflt_order: %d\n", (int)h->min_pp, (int)h->max_pp, (int)h->wflt_order); tab(indent); (void) printf("coh_window_frac: %g, pb_offset: %d\n", h->coh_window_frac, (int)h->pb_offset); tab(indent); (void) printf("harmonic_mult: %g, tm_uv_thresh: %g\n", h->harmonic_mult, h->tm_uv_thresh); tab(indent); (void) printf("am_uv_thresh: %g, hp_thresh: %g, pulse_search: %d\n", h->am_uv_thresh, h->hp_thresh, (int)h->pulse_search); tab(indent); (void) printf("gain_halt: %g, min_coh_len: %d, max_coh_len: %d\n", h->gain_halt, (int) h->min_coh_len, (int) h->max_coh_len); tab(indent); if(idx_ok(h->coh_data,coh_data_codes)) (void) printf("coh_data: %s\n",coh_data_codes[h->coh_data]); else (void) printf("coh_data: invalid code %d\n",(int)h->coh_data); for (i=0; i<PIT_SPARES; i++) if (h->spares[i] != 0) { tab(indent); (void) printf("spares[%d]: 0x%x\n", i,(int) h->spares[i]); } pr_zfunc(indent,"prefilter",h->prefilter); pr_zfunc(indent,"lpf",h->lpf); return;}voidprint_sd(indent, hdr)int indent;struct header *hdr;{ struct sd_header *h = hdr->hd.sd; int i; printf("\n"); tab(indent); (void) printf("---Sampled Data File Header---\n"); tab(indent); if(idx_ok(h->equip,equip_codes)) (void) printf("equip: %s\n",equip_codes[h->equip]); else (void) printf("equip: invalid code %d\n",(int)h->equip); tab(indent); (void) printf("max_value: %g, sf: %g, src_sf: %g\n", h->max_value, h->sf, h->src_sf); tab(indent); if(idx_ok(h->synt_method,synt_methods)) (void) printf("synt_method: %s\n",synt_methods[h->synt_method]); else (void) printf("synt_method: invalid code %d\n",(int)h->synt_method); tab(indent); (void) printf("scale: %g, dcrem: %g\n",h->scale,h->dcrem); tab(indent); if(idx_ok(h->q_method,synt_methods)) (void) printf("q_method: %s\n",quant_methods[h->q_method]); else (void) printf("q_method: invalid code %d\n",(int)h->q_method); tab(indent); if(idx_ok(h->v_excit_method,excit_methods)) (void) printf("v_excit_method: %s\n",excit_methods[h->v_excit_method]); else (void) printf("v_excit_method: invalid code %d\n",(int)h->v_excit_method); tab(indent); if(idx_ok(h->uv_excit_method,excit_methods)) (void) printf("uv_excit_method: %s\n",excit_methods[h->uv_excit_method]); else (void) printf("uv_excit_method: invalid code %d\n",(int)h->uv_excit_method); tab(indent); (void) printf("spare1: %d, nchan: %d\n",(int)h->spare1,(int)h->nchan); tab(indent); if(idx_ok(h->synt_interp,synt_inter_methods)) (void) printf("synt_interp: %s\n",synt_inter_methods[h->synt_interp]); else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -