@@ -678,8 +678,11 @@ begin |
| 678 |
|
678 |
|
| 679 |
// De-duplicate order matrix such that only unique numbers remain |
679 |
// De-duplicate order matrix such that only unique numbers remain |
| 680 |
for I := Low(Result.OrderMatrix) to High(Result.OrderMatrix) do |
680 |
for I := Low(Result.OrderMatrix) to High(Result.OrderMatrix) do |
| 681 |
for J := Low(Result.OrderMatrix[I]) to High(Result.OrderMatrix[I])-1 do |
681 |
for J := Low(Result.OrderMatrix[I]) to High(Result.OrderMatrix[I])-1 do begin |
| 682 |
Result.OrderMatrix[I, J] := FindMatchingPattern(Result.Patterns[Result.OrderMatrix[I, J]]^); |
682 |
if Result.Patterns.IndexOf(Result.OrderMatrix[I, J]) = -1 then |
|
|
683 |
WriteLn(StdErr, '[ERROR] Nonexistent pattern number in order table: ', Result.OrderMatrix[I, J], '!!!'); |
|
|
684 |
Result.OrderMatrix[I, J] := FindMatchingPattern(Result.Patterns.GetOrCreateNew(Result.OrderMatrix[I, J])^); |
|
|
685 |
end; |
| 683 |
end; |
686 |
end; |
| 684 |
|
687 |
|
| 685 |
function PatternIsUsed(Idx: Integer; const Song: TSong): Boolean; |
688 |
function PatternIsUsed(Idx: Integer; const Song: TSong): Boolean; |