Example #1
0
        public Songs FromProjectFile(string fileName)
        {
            var project = FileManager.OpenFile(fileName);
            var result  = TJAManager.Build(null, project, null, false);

            return(GetCourseFromCourses(result));
        }
Example #2
0
        private void Button_Build_Click(object sender, EventArgs e)
        {
            if (SongList.Count > 0)
            {
                var dialog = new SaveFileDialog();
                dialog.Title  = Properties.SystemMessage.SaveTJA;
                dialog.Filter = String.Format("{0}|*{1}", Properties.Common.TJAExtensionDescription, Properties.Common.TJAExtensionName);
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    var result   = "";
                    var danTitle = Path.GetFileNameWithoutExtension(dialog.FileName);
                    result += string.Format("TITLE:{0}" + Environment.NewLine, danTitle);
                    result += string.Format("BPM:{0}" + Environment.NewLine, SongList[0].BPM);
                    result += string.Format("WAVE:{0}" + Environment.NewLine, SongList[0].Wave);
                    result += string.Format("DEMOSTART:{0}" + Environment.NewLine, SongList[0].DemoStart);
                    result += string.Format("SCOREMODE:{0}" + Environment.NewLine, SongList[0].ScoreMode);

                    result += string.Format("COURSE:Dan" + Environment.NewLine);
                    result += string.Format("LEVEL:{0}" + Environment.NewLine, SongList[0].Level);
                    var balloon = "";
                    for (int i = 0; i < SongList.Count; i++)
                    {
                        balloon += SongList[i].Balloon;
                        if (!string.IsNullOrWhiteSpace(SongList[i].Balloon) && i != SongList.Count - 1)
                        {
                            balloon += ",";
                        }
                    }
                    result += string.Format("BALLOON:{0}" + Environment.NewLine, balloon);

                    if (ExamHeader_Exam1.ToString() != null)
                    {
                        result += string.Format("EXAM1:{0}" + Environment.NewLine, ExamHeader_Exam1.ToString());
                    }
                    if (ExamHeader_Exam2.ToString() != null)
                    {
                        result += string.Format("EXAM2:{0}" + Environment.NewLine, ExamHeader_Exam2.ToString());
                    }
                    if (ExamHeader_Exam3.ToString() != null)
                    {
                        result += string.Format("EXAM3:{0}" + Environment.NewLine, ExamHeader_Exam3.ToString());
                    }

                    result += string.Format(Environment.NewLine);

                    result += string.Format("#START" + Environment.NewLine);
                    foreach (var item in SongList)
                    {
                        result += item.ToString();
                    }
                    result += string.Format("#END" + Environment.NewLine);

                    TJAManager.Build(dialog.FileName, result, Program.Setting.UTF8Mode ? new UTF8Encoding() : Encoding.GetEncoding("Shift-JIS"));
                    foreach (var item in SongList)
                    {
                        if (File.Exists(Path.GetDirectoryName(item.FilePath) + @"\" + item.Wave))
                        {
                            // ファイルが存在するならコピーしてあげる
                            File.Copy(Path.GetDirectoryName(item.FilePath) + @"\" + item.Wave, Path.GetDirectoryName(dialog.FileName) + @"\" + item.Wave, true);
                        }
                    }
                    // ふぉるだを開いてあげる
                    Process.Start(Path.GetDirectoryName(dialog.FileName));
                }
                dialog.Dispose();
            }
            DialogResult = DialogResult.None;
        }