📄 spfile.h
字号:
/* File: spfile.h Created: 05/06/93 */#ifndef _SPFILE_H_#define _SPFILE_H_# define the data declaration types used in the SPHERE functionstypedef long SP_INTEGER;typedef double SP_REAL;typedef char * SP_STRING;enum SP_file_open_mode { SP_mode_null=100, SP_mode_read, SP_mode_write, SP_mode_update };enum SP_sample_byte_fmt { SP_sbf_null=200, SP_sbf_01, SP_sbf_10, SP_sbf_1, SP_sbf_0123, SP_sbf_1032, SP_sbf_2301, SP_sbf_3210, SP_sbf_N, SP_sbf_orig};enum SP_sample_encoding { SP_se_null=300, SP_se_pcm2, SP_se_pcm1, SP_se_ulaw, SP_se_alaw, SP_se_pculaw, SP_se_raw};enum SP_waveform_comp { SP_wc_null=400, SP_wc_shorten, SP_wc_wavpack, SP_wc_shortpack, SP_wc_none };enum SP_data_format { SP_df_null=500, SP_df_raw, SP_df_array };typedef struct waveform_t { FILE *sp_fp; FOB *sp_fob; int samples_read; int samples_written; SP_CHECKSUM checksum; /* cumulative checksum of read/written data */ long header_data_size; int read_premature_eof; int failed_checksum; int waveform_setup; int file_data_buffer_len; void *file_data_buffer; int converted_buffer_len; void *converted_buffer; int interleave_buffer_len; void *interleave_buffer; int byteswap_buffer_len; void *byteswap_buffer;} SPWAVEFORM;typedef struct origination_channel{ int num_origin; int *orig_channel;} ORIGINATION_CHAN;typedef struct channel_struct { SP_INTEGER num_chan; SP_INTEGER max_num_chan; SP_INTEGER max_chan_add; ORIGINATION_CHAN *ochan;} CHANNELS;typedef struct spfile_status_t { char *external_filename; struct header_t *file_header; int extra_checksum_verify; int is_disk_file; int is_temp_file; char *temp_filename; int user_channel_count, file_channel_count; int user_sample_count, file_sample_count; int user_sample_rate, file_sample_rate; int user_sample_n_bytes, file_sample_n_bytes; SP_CHECKSUM file_checksum; /* original file checksums, set for a file*/ /* that when read in, contained a checksum*/ int ignore_checksum; /* TRUE iff a checksum is in the header*/ enum SP_sample_encoding user_encoding, file_encoding; enum SP_waveform_comp user_compress, file_compress; enum SP_sample_byte_fmt user_sbf, file_sbf; enum SP_sample_byte_fmt natural_sbf; enum SP_data_format user_data_fmt; CHANNELS *channels; int write_occured_flag; int read_occured_flag; int field_set_occured_flag; int set_data_mode_occured_flag;} SPSTATUS;typedef struct sphere_internal_file_rep_t { struct header_t *header; struct waveform_t *waveform; struct spfile_status_t *status;} SPIFR;typedef struct sphere_t { enum SP_file_open_mode open_mode; SPIFR *read_spifr; SPIFR *write_spifr;} SP_FILE;#define SPNULL ((SP_FILE *) NULL)#define SPIFRNULL ((SPIFR *) NULL)#define CHANNELSNULL ((CHANNELS *)NULL)#define TRANSLATION_LEN 1024#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -