@@ -77,6 +77,7 @@ type |
| 77 |
MenuItem53: TMenuItem; |
77 |
MenuItem53: TMenuItem; |
| 78 |
NoiseVisualizer: TPaintBox; |
78 |
NoiseVisualizer: TPaintBox; |
| 79 |
MODOpenDialog: TOpenDialog; |
79 |
MODOpenDialog: TOpenDialog; |
|
|
80 |
RowNumberStringGrid: TStringGrid; |
| 80 |
WaveEditPopup: TPopupMenu; |
81 |
WaveEditPopup: TPopupMenu; |
| 81 |
SynAnySyn1: TSynAnySyn; |
82 |
SynAnySyn1: TSynAnySyn; |
| 82 |
WavSaveDialog: TSaveDialog; |
83 |
WavSaveDialog: TSaveDialog; |
@@ -775,11 +776,11 @@ end; |
| 775 |
|
776 |
|
| 776 |
procedure TfrmTracker.OnTrackerGridResize(Sender: TObject); |
777 |
procedure TfrmTracker.OnTrackerGridResize(Sender: TObject); |
| 777 |
var |
778 |
var |
| 778 |
Section: TCollectionItem; |
779 |
I: Integer; |
| 779 |
begin |
780 |
begin |
| 780 |
// Fix the size of the channel headers |
781 |
// Fix the size of the channel headers |
| 781 |
for Section in HeaderControl1.Sections do |
782 |
for I := 1 to HeaderControl1.Sections.Count-1 do |
| 782 |
(Section as THeaderSection).Width := TrackerGrid.ColumnWidth; |
783 |
HeaderControl1.Sections.Items[I].Width := TrackerGrid.ColumnWidth; |
| 783 |
end; |
784 |
end; |
| 784 |
|
785 |
|
| 785 |
procedure TfrmTracker.OnTrackerGridCursorOutOfBounds; |
786 |
procedure TfrmTracker.OnTrackerGridCursorOutOfBounds; |
@@ -921,8 +922,8 @@ begin |
| 921 |
LockPlayback; |
922 |
LockPlayback; |
| 922 |
GetROMReady('hUGEDriver/preview.gb'); |
923 |
GetROMReady('hUGEDriver/preview.gb'); |
| 923 |
PokeSymbol(SYM_TICKS_PER_ROW, Song.TicksPerRow); |
924 |
PokeSymbol(SYM_TICKS_PER_ROW, Song.TicksPerRow); |
| 924 |
for I := 0 to 3 do |
925 |
for I := 1 to 4 do |
| 925 |
snd[I+1].ChannelOFF := HeaderControl1.Sections[I].ImageIndex = 0; |
926 |
snd[I].ChannelOFF := HeaderControl1.Sections[I].ImageIndex = 0; |
| 926 |
|
927 |
|
| 927 |
Result := True; |
928 |
Result := True; |
| 928 |
end |
929 |
end |
@@ -989,19 +990,21 @@ end; |
| 989 |
|
990 |
|
| 990 |
procedure TfrmTracker.RecreateTrackerGrid; |
991 |
procedure TfrmTracker.RecreateTrackerGrid; |
| 991 |
var |
992 |
var |
| 992 |
Section: TCollectionItem; |
993 |
I: Integer; |
| 993 |
begin |
994 |
begin |
| 994 |
if Assigned(TrackerGrid) then TrackerGrid.Free; |
995 |
if Assigned(TrackerGrid) then TrackerGrid.Free; |
| 995 |
TrackerGrid := TTrackerGrid.Create(Self, ScrollBox1, Song.Patterns); |
996 |
TrackerGrid := TTrackerGrid.Create(Self, ScrollBox1, Song.Patterns); |
| 996 |
TrackerGrid.OnResize:=@OnTrackerGridResize; |
997 |
TrackerGrid.OnResize:=@OnTrackerGridResize; |
| 997 |
TrackerGrid.OnCursorOutOfBounds:=@OnTrackerGridCursorOutOfBounds; |
998 |
TrackerGrid.OnCursorOutOfBounds:=@OnTrackerGridCursorOutOfBounds; |
|
|
999 |
TrackerGrid.Left := RowNumberStringGrid.Left + RowNumberStringGrid.Width; |
|
|
1000 |
RowNumberStringGrid.DefaultRowHeight := TrackerGrid.RowHeight; |
| 998 |
|
1001 |
|
| 999 |
TrackerGrid.FontSize := OptionsFile.ReadInteger('hUGETracker', 'fontsize', 12); |
1002 |
TrackerGrid.FontSize := OptionsFile.ReadInteger('hUGETracker', 'fontsize', 12); |
| 1000 |
ScopesOn := OptionsFile.ReadBool('hUGETracker', 'ScopesOn', True); |
1003 |
ScopesOn := OptionsFile.ReadBool('hUGETracker', 'ScopesOn', True); |
| 1001 |
|
1004 |
|
| 1002 |
// Fix the size of the channel headers |
1005 |
// Fix the size of the channel headers |
| 1003 |
for Section in HeaderControl1.Sections do |
1006 |
for I := 1 to HeaderControl1.Sections.Count-1 do |
| 1004 |
(Section as THeaderSection).Width := TrackerGrid.ColumnWidth; |
1007 |
HeaderControl1.Sections.Items[I].Width := TrackerGrid.ColumnWidth; |
| 1005 |
|
1008 |
|
| 1006 |
TrackerGrid.PopupMenu := TrackerGridPopup; |
1009 |
TrackerGrid.PopupMenu := TrackerGridPopup; |
| 1007 |
end; |
1010 |
end; |
@@ -1203,6 +1206,7 @@ var |
| 1203 |
SampleSongs: TStringList; |
1206 |
SampleSongs: TStringList; |
| 1204 |
S: String; |
1207 |
S: String; |
| 1205 |
MenuItem: TMenuItem; |
1208 |
MenuItem: TMenuItem; |
|
|
1209 |
I: Integer; |
| 1206 |
begin |
1210 |
begin |
| 1207 |
{if Screen.Fonts.IndexOf('PixeliteTTF') = -1 then |
1211 |
{if Screen.Fonts.IndexOf('PixeliteTTF') = -1 then |
| 1208 |
MessageDlg('Warning', 'You don''t have the Pixelite font installed. '+ |
1212 |
MessageDlg('Warning', 'You don''t have the Pixelite font installed. '+ |
@@ -1280,6 +1284,10 @@ begin |
| 1280 |
// Switch to general tab sheet |
1284 |
// Switch to general tab sheet |
| 1281 |
PageControl1.ActivePageIndex := 0; |
1285 |
PageControl1.ActivePageIndex := 0; |
| 1282 |
|
1286 |
|
|
|
1287 |
// Add the row numbers to the string grid |
|
|
1288 |
for I := 0 to RowNumberStringGrid.RowCount-1 do |
|
|
1289 |
RowNumberStringGrid.Cells[0, I] := IntToStr(I); |
|
|
1290 |
|
| 1283 |
{$ifdef DEVELOPMENT} |
1291 |
{$ifdef DEVELOPMENT} |
| 1284 |
DebugShiteButton.Visible := True; |
1292 |
DebugShiteButton.Visible := True; |
| 1285 |
DebugPlayNoteButton.Visible := True; |
1293 |
DebugPlayNoteButton.Visible := True; |
@@ -1477,16 +1485,18 @@ begin |
| 1477 |
SelectedSection := HeaderControl1.Sections[HeaderControl1.GetSectionAt(P)]; |
1485 |
SelectedSection := HeaderControl1.Sections[HeaderControl1.GetSectionAt(P)]; |
| 1478 |
SelectedSection.ImageIndex := 1; |
1486 |
SelectedSection.ImageIndex := 1; |
| 1479 |
|
1487 |
|
| 1480 |
for I := 0 to 3 do |
1488 |
for I := 1 to 4 do |
| 1481 |
snd[I+1].ChannelOFF := HeaderControl1.Sections[I].ImageIndex = 0; |
1489 |
snd[I].ChannelOFF := HeaderControl1.Sections[I].ImageIndex = 0; |
| 1482 |
end; |
1490 |
end; |
| 1483 |
end; |
1491 |
end; |
| 1484 |
|
1492 |
|
| 1485 |
procedure TfrmTracker.HeaderControl1SectionClick( |
1493 |
procedure TfrmTracker.HeaderControl1SectionClick( |
| 1486 |
HeaderControl: TCustomHeaderControl; Section: THeaderSection); |
1494 |
HeaderControl: TCustomHeaderControl; Section: THeaderSection); |
| 1487 |
begin |
1495 |
begin |
|
|
1496 |
if Section.OriginalIndex = 0 then Exit; |
|
|
1497 |
|
| 1488 |
Section.ImageIndex := (Section.ImageIndex + 1) mod 2; |
1498 |
Section.ImageIndex := (Section.ImageIndex + 1) mod 2; |
| 1489 |
snd[Section.OriginalIndex+1].ChannelOFF := Section.ImageIndex = 0; |
1499 |
snd[Section.OriginalIndex].ChannelOFF := Section.ImageIndex = 0; |
| 1490 |
end; |
1500 |
end; |
| 1491 |
|
1501 |
|
| 1492 |
procedure TfrmTracker.HeaderControl1SectionResize( |
1502 |
procedure TfrmTracker.HeaderControl1SectionResize( |
@@ -1769,10 +1779,10 @@ procedure TfrmTracker.Duty1VisualizerClick(Sender: TObject); |
| 1769 |
var |
1779 |
var |
| 1770 |
Section: THeaderSection; |
1780 |
Section: THeaderSection; |
| 1771 |
begin |
1781 |
begin |
| 1772 |
if Sender = Duty1Visualizer then Section := HeaderControl1.Sections.Items[0] |
1782 |
if Sender = Duty1Visualizer then Section := HeaderControl1.Sections.Items[1] |
| 1773 |
else if Sender = Duty2Visualizer then Section := HeaderControl1.Sections.Items[1] |
1783 |
else if Sender = Duty2Visualizer then Section := HeaderControl1.Sections.Items[2] |
| 1774 |
else if Sender = WaveVisualizer then Section := HeaderControl1.Sections.Items[2] |
1784 |
else if Sender = WaveVisualizer then Section := HeaderControl1.Sections.Items[3] |
| 1775 |
else {if Sender = NoiseVisualizer then} Section := HeaderControl1.Sections.Items[3]; |
1785 |
else {if Sender = NoiseVisualizer then} Section := HeaderControl1.Sections.Items[4]; |
| 1776 |
|
1786 |
|
| 1777 |
Section.ImageIndex := (Section.ImageIndex + 1) mod 2; |
1787 |
Section.ImageIndex := (Section.ImageIndex + 1) mod 2; |
| 1778 |
snd[Section.OriginalIndex+1].ChannelOFF := Section.ImageIndex = 0; |
1788 |
snd[Section.OriginalIndex+1].ChannelOFF := Section.ImageIndex = 0; |