private void Save(SerializableProjectData projectData, string fileFullName) { BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream fileStream = new FileStream(fileFullName, FileMode.Create); binaryFormatter.Serialize(fileStream, projectData); fileStream.Close(); }
private void Load(string fileFullName) { projectData = null; BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream fileStream = new FileStream(fileFullName, FileMode.Open); projectData = (SerializableProjectData)binaryFormatter.Deserialize(fileStream); fileStream.Close(); }
public IEnumerator SaveProjectIntoFile(Project project, AudioClip clip, string fileFullName) //Save the project in file fileFullName { stage.forceToPlaceNotes = true; if (backGroundImageLeft.activeInHierarchy == true) { savingText.GetComponent <Text>().color = new Color(0.0f, 0.0f, 0.0f, 1.0f); } else { savingText.GetComponent <Text>().color = new Color(1.0f, 1.0f, 1.0f, 1.0f); } savingText.SetActive(true); projectData = new SerializableProjectData { project = project, length = clip.samples, frequency = clip.frequency, channel = clip.channels }; projectData.sampleData = new float[projectData.length * projectData.channel]; clip.GetData(projectData.sampleData, 0); Thread saveThread = new Thread(() => Save(projectData, fileFullName)); saveThread.Start(); while (saveThread.IsAlive) { yield return(null); } savingText.SetActive(false); if (backGroundImageLeft.activeInHierarchy == true) { saveCompleteText.GetComponent <Text>().color = new Color(0.0f, 0.0f, 0.0f, 1.0f); } else { saveCompleteText.GetComponent <Text>().color = new Color(1.0f, 1.0f, 1.0f, 1.0f); } saveCompleteText.SetActive(true); stage.forceToPlaceNotes = false; yield return(new WaitForSeconds(3.0f)); saveCompleteText.SetActive(false); }
public static FullProjectDataV2 Version1To2(SerializableProjectData dataV1) { FullProjectDataV2 dataV2 = new FullProjectDataV2 { project = dataV1.project, audioType = ".wav" }; WavEncoder wavEncoder = new WavEncoder { channel = dataV1.channel, frequency = dataV1.frequency, length = dataV1.length, sampleData = dataV1.sampleData }; wavEncoder.EncodeToWav(out dataV2.audio); dataV2.project.songName = "converted audio.wav"; return(dataV2); }