12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System;
- using System.IO;
- using System.Windows.Forms;
- using BeatLyrics.Common;
- using BeatLyrics.Tool.Models;
- using BeatLyrics.Tool.Utils;
- using Newtonsoft.Json;
- namespace BeatLyrics.Tool.Dialogs
- {
- internal partial class TextEditForm : Form
- {
- private readonly LevelInfo _nfo;
- private LyricFileExt _selectedItem;
- public TextEditForm(LevelInfo nfo, string filename)
- {
- _nfo = nfo;
- InitializeComponent();
- SaveTextBox.Text = filename;
- }
- private void TextEditForm_Shown(object sender, EventArgs e)
- {
- OggAudioPlayer.LoadOggFile(_nfo.MediaPath);
- OggAudioPlayer.Stop();
- var duration = OggAudioPlayer.Length;
- EditorControl.SetMediaInfo((int)duration.TotalMilliseconds);
- var localLyricPath = Path.Combine(DirProvider.GetLyricDir(_nfo.Hash), SaveTextBox.Text);
- var json = File.ReadAllText(localLyricPath);
- _selectedItem = JsonConvert.DeserializeObject<LyricFileExt>(json);
- EditorControl.SetLyricFile(_selectedItem);
- }
- private void SaveButton_Click(object sender, EventArgs e)
- {
- var json = JsonConvert.SerializeObject(_selectedItem);
- File.WriteAllText(Path.Combine(DirProvider.GetLyricDir(_nfo.Hash), SaveTextBox.Text), json);
- Close();
- }
- private void TextEditForm_FormClosed(object sender, FormClosedEventArgs e) => EditorControl.ClearData();
- }
- }
|