using JDSongConverter.Tasks; using TeaBox.Macros; namespace JDSongConverter.Converters { public class LynToJd2016Converter : Converter { private readonly CreateMapFromTemplateTask _createMapFromTemplateTask = new CreateMapFromTemplateTask(); private readonly CopyDirectoryTask _copyPictogramsTask = new CopyDirectoryTask{Name = "Copy pictogram directory"}; private readonly CleanWaveHeaderTask _cleanWaveHeaderTask = new CleanWaveHeaderTask(); private readonly CreateTrkFileTask _createTrkFileTask = new CreateTrkFileTask(); private readonly ConvertTimelineToDtapeTask _convertTimelineToDtape = new ConvertTimelineToDtapeTask(); private readonly ConvertTimelineToKtapeTask _convertTimelineToKtape = new ConvertTimelineToKtapeTask(); private readonly CopyMovesTask _copyMoves = new CopyMovesTask(); private readonly CreatePictoTfiTask _createPictoTfiTask = new CreatePictoTfiTask(); private readonly RepairTrkTask _repairTrkTask = new RepairTrkTask(); private readonly ConvertPictogramsToPngTask _convertTgaToPng = new ConvertPictogramsToPngTask(); private readonly CreateAmbiantTask _createAmbiantTask = new CreateAmbiantTask(); private readonly ChangeWaveSamplerateTask _changeWaveSamplerateTask = new ChangeWaveSamplerateTask(); private readonly CopyDirectoryTask _copyUiCoversTask = new CopyDirectoryTask { Name = "Copy UI covers" }; public LynToJd2016Converter() { Tasks.Add(_createMapFromTemplateTask); Tasks.Add(_copyPictogramsTask); Tasks.Add(_cleanWaveHeaderTask); Tasks.Add(_changeWaveSamplerateTask); Tasks.Add(_createTrkFileTask); Tasks.Add(_convertTimelineToDtape); Tasks.Add(_convertTimelineToKtape); Tasks.Add(_createAmbiantTask); Tasks.Add(_repairTrkTask); Tasks.Add(_copyMoves); Tasks.Add(_createPictoTfiTask); Tasks.Add(_convertTgaToPng); Tasks.Add(_copyUiCoversTask); Tasks.AddRange(new JD2015ToJd2016Converter().Tasks); } public override void Process(JDSong song, string outputDir, string mapPathRelative, IExecutionContext logger) { var pictoInputDir = AppDefinitions.Default.AbsoluteMapPath(MapPathType.PictosDir, song); var pictoOutputDir = AppDefinitions.Default.AbsoluteMapPath(MapPathType.PictosDir, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); var tmlFile = AppDefinitions.Default.AbsoluteMapPath(MapPathType.TimelineTml, song); var dtapeFile = AppDefinitions.Default.AbsoluteMapPath(MapPathType.DanceTapeFile, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); var ktapeFile = AppDefinitions.Default.AbsoluteMapPath(MapPathType.KaraokeTapeFile, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); var lyricsFile = AppDefinitions.Default.AbsoluteMapPath(MapPathType.LyricsFile, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); var inputWav = AppDefinitions.Default.AbsoluteMapPath(MapPathType.WavFile, song); var outputWav = AppDefinitions.Default.AbsoluteMapPath(MapPathType.WavFile, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); var outputTrk = AppDefinitions.Default.AbsoluteMapPath(MapPathType.TrkFile, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); var uiCoverInputDir = AppDefinitions.Default.AbsoluteMapPath(MapPathType.CoverAndCoachLobby, song); var uiCoverOutputDir = AppDefinitions.Default.AbsoluteMapPath(MapPathType.CoverAndCoachLobby, outputDir, song.Name, JDSongVersion.JD2015, JDFolderLayout.Engine); _copyPictogramsTask.Init(pictoInputDir, pictoOutputDir); _convertTimelineToDtape.Init(tmlFile, dtapeFile); _convertTimelineToKtape.Init(tmlFile, ktapeFile, lyricsFile); _cleanWaveHeaderTask.Init(inputWav, outputWav); _changeWaveSamplerateTask.Init(outputWav, outputWav); _createTrkFileTask.Init(outputWav, outputTrk); _createPictoTfiTask.Init(pictoOutputDir, pictoOutputDir); _copyUiCoversTask.Init(uiCoverInputDir, uiCoverOutputDir); base.Process(song, outputDir, mapPathRelative, logger); } } }