Esempio n. 1
0
    /// <summary>
    /// 保存済みのマイクセットデータをデシリアライズし、UI,MeasurementParameterに反映
    /// ボタンに紐づけ
    /// </summary>
    public void LoadMicSet()
    {
        var datapath = files[mSetList.value].FullName;

        Debug.Log("Selected Mic set is" + datapath);

        var        bf         = new BinaryFormatter();
        FileStream fileStream = null;

        try
        {
            //ファイル読み込み
            fileStream = File.Open(datapath, FileMode.Open);
            //読み込んだデータをデシリアライズ
            MicSetClass loadMSet = bf.Deserialize(fileStream) as MicSetClass;
            UpdateMeasurementParameter(loadMSet);
            UpdateParameter();
        }
        catch (Exception e) when(e is FileNotFoundException)
        {
            Debug.Log(datapath + "がありません" + e);
        }
        catch (Exception e2) when(e2 is IOException)
        {
            Debug.Log("ファイルオープンエラー" + e2);
        }
    }
Esempio n. 2
0
    /// <summary>
    /// 画面入力されたマイクセットのデータ(名前+マイクロホン間隔+キャリブレーションデータ)を.datにシリアライズして保存する
    /// ボタンに紐づけ
    /// </summary>
    public void SaveMicSet()
    {
        var        bf         = new BinaryFormatter();
        FileStream fileStream = null;

        var currentCalib = new double[4];

        try
        {
            //マイクセットの保存係数をセット
            //マイクの数だけ
            for (int i = 0; i < 4; i++)
            {
                currentCalib[i] = double.Parse(calibs[i].text);
            }
            var         mInterval = float.Parse(in_mInterval.text);
            var         setName   = SetName.text;
            MicSetClass newSet    = new MicSetClass(mInterval, currentCalib, setName);

            //フォルダにMicset.datを作成
            if (SetName.text == "")
            {
                fileStream = File.Create(DATA_SAVED_FOLDER + "/dafault.dat");
            }
            else if (SetName.text.Contains(".dat"))
            {
                fileStream = File.Create(DATA_SAVED_FOLDER + "/" + setName);
            }
            else
            {
                fileStream = File.Create(DATA_SAVED_FOLDER + "/" + setName + ".dat");
            }

            //ファイルにクラスを保存
            bf.Serialize(fileStream, newSet);

            UpdateMeasurementParameter(newSet);
            Debug.Log("新しいマイクセットを登録した");
        }
        catch (FormatException e)
        {
            Debug.Log("CalibrationSetの入力形式が間違えています" + e);
        }
        catch (IOException el)
        {
            Debug.Log("ファイルオープンエラー" + el);
        }
        finally
        {
            if (fileStream != null)
            {
                fileStream.Close();
            }
        }
        //DropDownの表示を更新
        UpdateMicSetList();
    }
Esempio n. 3
0
 private void UpdateMeasurementParameter(MicSetClass micSet)
 {
     MeasurementParameter.mSetName  = micSet.name;
     MeasurementParameter.MInterval = micSet.micInterval;
     for (int i = 0; i < MeasurementParameter.CalibSize; i++)
     {
         MeasurementParameter.CalibValue[i] = micSet.calibData[i];
     }
 }