@@ -513,18 +513,21 @@ var |
| 513 |
begin |
513 |
begin |
| 514 |
Song := OptimizeSong(Song); |
514 |
Song := OptimizeSong(Song); |
| 515 |
|
515 |
|
|
|
516 |
if not DirectoryExists('render') then |
|
|
517 |
CreateDir('render'); |
|
|
518 |
|
| 516 |
FilePath := Filename; |
519 |
FilePath := Filename; |
| 517 |
Filename := 'render/' + ExtractFileNameWithoutExt(ExtractFileNameOnly(Filename)); |
520 |
Filename := 'render/' + ExtractFileNameWithoutExt(ExtractFileNameOnly(Filename)); |
| 518 |
|
521 |
|
| 519 |
WriteHTT('./render/wave.htt', RenderWaveforms(Song.Waves)); |
522 |
WriteHTT('render/wave.htt', RenderWaveforms(Song.Waves)); |
| 520 |
WriteHTT('./render/order.htt', RenderOrderTable(Song.OrderMatrix)); |
523 |
WriteHTT('render/order.htt', RenderOrderTable(Song.OrderMatrix)); |
| 521 |
WriteHTT('./render/duty_instrument.htt', RenderInstruments(Song.Instruments.Duty)); |
524 |
WriteHTT('render/duty_instrument.htt', RenderInstruments(Song.Instruments.Duty)); |
| 522 |
WriteHTT('./render/wave_instrument.htt', RenderInstruments(Song.Instruments.Wave)); |
525 |
WriteHTT('render/wave_instrument.htt', RenderInstruments(Song.Instruments.Wave)); |
| 523 |
WriteHTT('./render/noise_instrument.htt', RenderInstruments(Song.Instruments.Noise)); |
526 |
WriteHTT('render/noise_instrument.htt', RenderInstruments(Song.Instruments.Noise)); |
| 524 |
for I := Low(TRoutineBank) to High(TRoutineBank) do |
527 |
for I := Low(TRoutineBank) to High(TRoutineBank) do |
| 525 |
WriteHTT('./render/routine'+IntToStr(I)+'.htt', Song.Routines[I]); |
528 |
WriteHTT('render/routine'+IntToStr(I)+'.htt', Song.Routines[I]); |
| 526 |
|
529 |
|
| 527 |
AssignFile(OutFile, './render/pattern.htt'); |
530 |
AssignFile(OutFile, 'render/pattern.htt'); |
| 528 |
Rewrite(OutFile); |
531 |
Rewrite(OutFile); |
| 529 |
|
532 |
|
| 530 |
// TODO: Are keys and data defined to be aligned? Seems like they are but |
533 |
// TODO: Are keys and data defined to be aligned? Seems like they are but |