private void SongTrackImportWaveForm_Load(object sender, EventArgs e) { PatchUtil.Cache_m4a_hq_mixer m4a_hq_mixer = PatchUtil.Search_m4a_hq_mixer(); if (m4a_hq_mixer == PatchUtil.Cache_m4a_hq_mixer.NO) { this.NO_DPCM_PATCH.Show(); UseDPCMCompress.Hide(); } else { this.NO_DPCM_PATCH.Hide(); UseDPCMCompress.Show(); } }
void RunSox() { if (File.Exists(this.TempFilename)) { File.Delete(this.TempFilename); } bool r; string output; this.TempFilename = U.mktemp(".wav"); if (Chunnel.SelectedIndex == 0 && HZ.SelectedIndex == 0 && Strip.SelectedIndex == 0 && Volume.SelectedIndex == 0 ) { U.CopyFile(this.FromFilename, this.TempFilename); } else { //soxでwavファイルを変換 r = MainFormUtil.ConvertWaveBySOX(this.TempFilename, this.FromFilename, U.atoi(Chunnel.Text), U.atoi(HZ.Text), U.atoi(Strip.Text), U.atoi(Volume.Text), out output) ; if (r == false) { R.ShowStopError(output); return; } if (!File.Exists(this.FromFilename)) { return; } if (!File.Exists(this.TempFilename)) { return; } } if (this.UseDPCMCompress.SelectedIndex == 0) {//圧縮を使わない場合は、ここで終了 return; } //圧縮する場合 PatchUtil.Cache_m4a_hq_mixer m4a_hq_mixer = PatchUtil.Search_m4a_hq_mixer(); if (m4a_hq_mixer == PatchUtil.Cache_m4a_hq_mixer.NO) { return; } /* * string sfile = U.mktemp(".s"); * r = MainFormUtil.ConvertWav2agb(sfile * , this.TempFilename * , U.atoi(this.DPCMLookahead.Text) * , out output); * if (r == false) * { * File.Delete(this.TempFilename); * this.TempFilename = ""; * R.ShowStopError(output); * return; * } */ //自前encode string sfile = U.mktemp(".dpcm"); byte[] waveBin = File.ReadAllBytes(this.TempFilename); byte[] dpcmBin = SongUtilDPCM.wavToDPCMByte(waveBin, U.atoi(this.DPCMLookahead.Text)); File.WriteAllBytes(sfile, dpcmBin); if (!File.Exists(sfile)) { File.Delete(this.TempFilename); this.TempFilename = ""; return; } this.UncompressWavBIN = File.ReadAllBytes(this.TempFilename); File.Delete(this.TempFilename); this.TempFilename = sfile; return; }