Exemple #1
0
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);
}