void CInstrumentFDS::SaveFile(CFile *pFile, CFamiTrackerDoc *pDoc) { // Write wave for (int i = 0; i < WAVE_SIZE; ++i) { char sample = GetSample(i); pFile->Write(&sample, 1); } // Write modulation table for (int i = 0; i < MOD_SIZE; ++i) { char mod = GetModulation(i); pFile->Write(&mod, 1); } // Modulation parameters int data; data = GetModulationSpeed(); pFile->Write(&data, sizeof(int)); data = GetModulationDepth(); pFile->Write(&data, sizeof(int)); data = GetModulationDelay(); pFile->Write(&data, sizeof(int)); // Sequences StoreInstSequence(pFile, m_pVolume); StoreInstSequence(pFile, m_pArpeggio); StoreInstSequence(pFile, m_pPitch); }
void CInstrumentFDS::SaveFile(CInstrumentFile *pFile, const CFamiTrackerDoc *pDoc) { // Write wave for (int i = 0; i < WAVE_SIZE; ++i) { pFile->WriteChar(GetSample(i)); } // Write modulation table for (int i = 0; i < MOD_SIZE; ++i) { pFile->WriteChar(GetModulation(i)); } // Modulation parameters pFile->WriteInt(GetModulationSpeed()); pFile->WriteInt(GetModulationDepth()); pFile->WriteInt(GetModulationDelay()); // Sequences StoreInstSequence(pFile, m_pVolume); StoreInstSequence(pFile, m_pArpeggio); StoreInstSequence(pFile, m_pPitch); }