public IEnumerator SaveProjectIntoFile(Project project, byte[] audio, string fileFullName) //Save the project in file fileFullName { stage.forceToPlaceNotes = true; savingText.GetComponent <Text>().color = backGroundImageLeft.activeInHierarchy ? Color.black : Color.white; savingText.SetActive(true); projectData = new FullProjectDataV2 { project = project, audio = audio, audioType = Path.GetExtension(project.songName) }; Thread saveThread = new Thread(() => Save(projectData, fileFullName)); saveThread.Start(); while (saveThread.IsAlive) { yield return(null); } savingText.SetActive(false); saveCompleteText.GetComponent <Text>().color = backGroundImageLeft.activeInHierarchy ? Color.black : Color.white; saveCompleteText.SetActive(true); stage.forceToPlaceNotes = false; yield return(new WaitForSeconds(3.0f)); saveCompleteText.SetActive(false); }
private void Load(string fileFullName) { projectData = null; BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream fileStream = new FileStream(fileFullName, FileMode.Open); try { object deserializedData = binaryFormatter.Deserialize(fileStream); switch (deserializedData) { case SerializableProjectData v1: projectData = ProjectVersionConversion.Version1To2(v1); break; case FullProjectDataV2 v2: projectData = v2; break; } } catch (Exception exc) { Debug.LogError(exc.Message); } fileStream.Close(); }
private void Save(FullProjectDataV2 projectData, string fileFullName) { BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream fileStream = new FileStream(fileFullName, FileMode.Create); binaryFormatter.Serialize(fileStream, projectData); fileStream.Close(); }
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); }
private void Load(string fileFullName) { projectData = null; BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream fileStream = new FileStream(fileFullName, FileMode.Open); try { object deserializedData = binaryFormatter.Deserialize(fileStream); if (deserializedData is SerializableProjectData) { projectData = ProjectVersionConversion.Version1To2((SerializableProjectData)deserializedData); } else if (deserializedData is FullProjectDataV2) { projectData = (FullProjectDataV2)deserializedData; } } catch (Exception exc) { Debug.LogError(exc.Message); } fileStream.Close(); }