@@ -668,6 +668,7 @@ void KWDFile::startNewRecording(int recordingNumber, int nChannels, HDF5Recordin
668668 uint8 mSample = info->multiSample ? 1 : 0 ;
669669
670670 ScopedPointer<HDF5RecordingData> bitVoltsSet;
671+ ScopedPointer<HDF5RecordingData> sampleRateSet;
671672
672673 String recordPath = String (" /recordings/" )+String (recordingNumber);
673674 CHECK_ERROR (createGroup (recordPath));
@@ -685,7 +686,13 @@ void KWDFile::startNewRecording(int recordingNumber, int nChannels, HDF5Recordin
685686 std::cerr << " Error creating bitvolts data set" << std::endl;
686687
687688 CHECK_ERROR (setAttribute (U8,&mSample ,recordPath+" /application_data" ,String (" is_multiSampleRate_data" )));
688- CHECK_ERROR (setAttributeArray (F32,info->channelSampleRates .getRawDataPointer (),info->channelSampleRates .size (),recordPath+" /application_data" ,String (" channel_sample_rates" )));
689+ // CHECK_ERROR(setAttributeArray(F32,info->channelSampleRates.getRawDataPointer(),info->channelSampleRates.size(),recordPath+"/application_data",String("channel_sample_rates")));
690+ sampleRateSet = createDataSet (F32, info->channelSampleRates .size (), 0 , recordPath + " /application_data/channel_sample_rates" );
691+ if (sampleRateSet.get ())
692+ sampleRateSet->writeDataBlock (info->channelSampleRates .size (), F32, info->channelSampleRates .getRawDataPointer ());
693+ else
694+ std::cerr << " Error creating sample rates data set" << std::endl;
695+
689696 recdata = createDataSet (I16,0 ,nChannels,CHUNK_XSIZE,recordPath+" /data" );
690697 if (!recdata.get ())
691698 std::cerr << " Error creating data set" << std::endl;
0 commit comments