@@ -541,6 +541,8 @@ begin |
| 541 |
end; |
541 |
end; |
| 542 |
|
542 |
|
| 543 |
function TfrmTracker.PreparePreview: Boolean; |
543 |
function TfrmTracker.PreparePreview: Boolean; |
|
|
544 |
var |
|
|
545 |
I: Integer; |
| 544 |
begin |
546 |
begin |
| 545 |
if RenderPreviewROM(Song) then begin |
547 |
if RenderPreviewROM(Song) then begin |
| 546 |
// Load the new symbol table |
548 |
// Load the new symbol table |
@@ -552,6 +554,8 @@ begin |
| 552 |
EmulationThread.Free; |
554 |
EmulationThread.Free; |
| 553 |
EmulationThread := TEmulationThread.Create('hUGEDriver/preview.gb'); |
555 |
EmulationThread := TEmulationThread.Create('hUGEDriver/preview.gb'); |
| 554 |
PokeSymbol(SYM_TICKS_PER_ROW, Song.TicksPerRow); |
556 |
PokeSymbol(SYM_TICKS_PER_ROW, Song.TicksPerRow); |
|
|
557 |
for I := 0 to 3 do |
|
|
558 |
snd[I+1].ChannelOFF := HeaderControl1.Sections[I].ImageIndex = 0; |
| 555 |
|
559 |
|
| 556 |
Result := True; |
560 |
Result := True; |
| 557 |
end |
561 |
end |
@@ -743,6 +747,7 @@ end; |
| 743 |
|
747 |
|
| 744 |
procedure TfrmTracker.WaveformComboboxChange(Sender: TObject); |
748 |
procedure TfrmTracker.WaveformComboboxChange(Sender: TObject); |
| 745 |
begin |
749 |
begin |
|
|
750 |
CurrentInstrument^.Waveform:=WaveformCombobox.ItemIndex; |
| 746 |
WavePaintbox.Invalidate; |
751 |
WavePaintbox.Invalidate; |
| 747 |
end; |
752 |
end; |
| 748 |
|
753 |
|
@@ -777,15 +782,14 @@ end; |
| 777 |
|
782 |
|
| 778 |
procedure TfrmTracker.FormCreate(Sender: TObject); |
783 |
procedure TfrmTracker.FormCreate(Sender: TObject); |
| 779 |
var |
784 |
var |
| 780 |
I, J: Integer; |
785 |
I: Integer; |
| 781 |
Section: TCollectionItem; |
786 |
Section: TCollectionItem; |
| 782 |
begin |
787 |
begin |
| 783 |
ReturnNilIfGrowHeapFails := False; |
788 |
ReturnNilIfGrowHeapFails := False; |
| 784 |
|
789 |
|
| 785 |
Song.Version := UGE_FORMAT_VERSION; |
790 |
InitializeSong(Song); |
| 786 |
|
791 |
|
| 787 |
// Create pattern editor control |
792 |
// Create pattern editor control |
| 788 |
Song.Patterns := TPatternMap.Create; |
|
|
| 789 |
RecreateTrackerGrid; |
793 |
RecreateTrackerGrid; |
| 790 |
|
794 |
|
| 791 |
// Initialize ticks per row |
795 |
// Initialize ticks per row |
@@ -795,28 +799,6 @@ begin |
| 795 |
for Section in HeaderControl1.Sections do |
799 |
for Section in HeaderControl1.Sections do |
| 796 |
(Section as THeaderSection).Width := TrackerGrid.ColumnWidth; |
800 |
(Section as THeaderSection).Width := TrackerGrid.ColumnWidth; |
| 797 |
|
801 |
|
| 798 |
for I := Low(Song.Instruments) to High(Song.Instruments) do |
|
|
| 799 |
with Song.Instruments[I] do begin |
|
|
| 800 |
Type_ := Square; |
|
|
| 801 |
Length := 0; |
|
|
| 802 |
LengthEnabled := False; |
|
|
| 803 |
InitialVolume := 63; |
|
|
| 804 |
VolSweepDirection := Down; |
|
|
| 805 |
VolSweepAmount := 0; |
|
|
| 806 |
|
|
|
| 807 |
SweepTime := 0; |
|
|
| 808 |
SweepIncDec := Down; |
|
|
| 809 |
SweepShift := 0; |
|
|
| 810 |
|
|
|
| 811 |
Duty := 2; |
|
|
| 812 |
end; |
|
|
| 813 |
|
|
|
| 814 |
for I := Low(Song.Waves) to High(Song.Waves) do begin |
|
|
| 815 |
for J := 0 to 32 do |
|
|
| 816 |
Song.Waves[I][J] := random($F); |
|
|
| 817 |
WaveformCombobox.Items.Add('Wave #' + IntToStr(I)); |
|
|
| 818 |
end; |
|
|
| 819 |
|
|
|
| 820 |
LoadInstrument(1); |
802 |
LoadInstrument(1); |
| 821 |
LoadWave(0); |
803 |
LoadWave(0); |
| 822 |
|
804 |
|