Beispiel #1
0
    private void Save(SerializableProjectData projectData, string fileFullName)
    {
        BinaryFormatter binaryFormatter = new BinaryFormatter();
        FileStream      fileStream      = new FileStream(fileFullName, FileMode.Create);

        binaryFormatter.Serialize(fileStream, projectData);
        fileStream.Close();
    }
Beispiel #2
0
    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();
    }
Beispiel #3
0
    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);
    }