static void Main() { JAIDSP.Init(); /* * var by = File.ReadAllBytes("3.wsy"); * var bReader = new BeBinaryReader(new MemoryStream(by)); * var WSYSLoader = new JA_WSYSLoader_V1(); * var wsy0 = WSYSLoader.loadWSYS(bReader,0x00000000); * //var ref0 = JsonConvert.SerializeObject(wsy0,Formatting.Indented); * //File.WriteAllText("yes.json", ref0); * * // Console.WriteLine($"{wsy0.id} -- {wsy0.Scenes[4].CDFData.Length} @ {wsy0.Groups[4].Waves.Length} "); * * var tarcdf = wsy0.Scenes[0].CDFData; * for (int i=0; i < tarcdf.Length; i++) * { * var ccdf = tarcdf[i]; * var cw1 = ccdf.awid; * //Console.WriteLine($"{cw1} -- {wsy0.Groups[cw1]}"); * * } */ //Console.WriteLine(wsy0.Groups[0].awFile); //Console.ReadLine(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainMenu()); }
private void btnPlay_Click(object sender, EventArgs e) { var awFile = root.currentWGroup; var wavDesc = root.currentWave; Stream fStrm = null; try { fStrm = File.OpenRead(awFile.awFile); } catch { MessageBox.Show($"Failed to open '{awFile.awFile}'", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } byte[] tf = new byte[wavDesc.wsys_size]; fStrm.Position = wavDesc.wsys_start; fStrm.Read(tf, 0, wavDesc.wsys_size); var ADP = ADPCM.ADPCMToPCM16(tf, ADPCM.ADPCMFormat.FOUR_BIT); var w = JAIDSP.SetupSoundBuffer(ADP, 1, (int)wavDesc.sampleRate, 0); var b = new JAIDSPVoice(ref w); b.play(); fStrm.Close(); }