// file: write_0.C // #include "./process_data.h" // important definitions // static float last_sample_frequency = (float)-1.0; static float last_frame_duration = (float)-1.0; static short int* tmp_buf; //----------------------------------------------------------------------------- // function: write_data_C // // arguments: // float* buffer: (output) one frame of output data // FILE* fp: (input) input file pointer // float sample_frequency: (output) sample frequency of the signals // float frame_duration: (output) frame_duration of the analysis // // returns: // L_TRUE if no error was encounterd // // writes one analysis window from a file //----------------------------------------------------------------------------- int write_data_C(float* buffer, FILE* fp, float sample_frequency, float frame_duration) { // compute the number of samples // int num_samples_to_write = (int)round_C(frame_duration * sample_frequency); // allocate space if necessary // if ((sample_frequency != last_sample_frequency) || (frame_duration != last_frame_duration)) { if (tmp_buf != NULL) {free(tmp_buf);} tmp_buf = new short int[num_samples_to_write]; } // convert the data // for (int sample_num=0; sample_num