70 lines
4.3 KiB
C#
70 lines
4.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|