@@ -9,8 +9,8 @@ uses |
| 9 |
Menus, Spin, StdCtrls, ActnList, StdActns, SynEdit, math, Instruments, Waves, |
9 |
Menus, Spin, StdCtrls, ActnList, StdActns, SynEdit, math, Instruments, Waves, |
| 10 |
Song, EmulationThread, Utils, Constants, sound, vars, machine, |
10 |
Song, EmulationThread, Utils, Constants, sound, vars, machine, |
| 11 |
about_hugetracker, TrackerGrid, lclintf, lmessages, Buttons, Grids, DBCtrls, |
11 |
about_hugetracker, TrackerGrid, lclintf, lmessages, Buttons, Grids, DBCtrls, |
| 12 |
HugeDatatypes, LCLType, RackCtls, Codegen, |
12 |
HugeDatatypes, LCLType, IniPropStorage, RackCtls, Codegen, |
| 13 |
SymParser; |
13 |
SymParser, options, IniFiles; |
| 14 |
|
14 |
|
| 15 |
type |
15 |
type |
| 16 |
{ TfrmTracker } |
16 |
{ TfrmTracker } |
@@ -29,6 +29,8 @@ type |
| 29 |
MenuItem23: TMenuItem; |
29 |
MenuItem23: TMenuItem; |
| 30 |
MenuItem24: TMenuItem; |
30 |
MenuItem24: TMenuItem; |
| 31 |
FontSizeToggleMenuItem: TMenuItem; |
31 |
FontSizeToggleMenuItem: TMenuItem; |
|
|
32 |
MenuItem25: TMenuItem; |
|
|
33 |
MenuItem26: TMenuItem; |
| 32 |
MenuItem8: TMenuItem; |
34 |
MenuItem8: TMenuItem; |
| 33 |
NoteHaltTimer: TTimer; |
35 |
NoteHaltTimer: TTimer; |
| 34 |
StartVolTrackbar: TTrackBar; |
36 |
StartVolTrackbar: TTrackBar; |
@@ -224,6 +226,7 @@ type |
| 224 |
procedure MenuItem21Click(Sender: TObject); |
226 |
procedure MenuItem21Click(Sender: TObject); |
| 225 |
procedure MenuItem22Click(Sender: TObject); |
227 |
procedure MenuItem22Click(Sender: TObject); |
| 226 |
procedure FontSizeToggleMenuItemClick(Sender: TObject); |
228 |
procedure FontSizeToggleMenuItemClick(Sender: TObject); |
|
|
229 |
procedure MenuItem26Click(Sender: TObject); |
| 227 |
procedure MenuItem5Click(Sender: TObject); |
230 |
procedure MenuItem5Click(Sender: TObject); |
| 228 |
procedure MenuItem8Click(Sender: TObject); |
231 |
procedure MenuItem8Click(Sender: TObject); |
| 229 |
procedure NoiseVisualizerPaint(Sender: TObject); |
232 |
procedure NoiseVisualizerPaint(Sender: TObject); |
@@ -292,6 +295,7 @@ type |
| 292 |
{PatternsNode, }InstrumentsNode, WavesNode, RoutinesNode: TTreeNode; |
295 |
{PatternsNode, }InstrumentsNode, WavesNode, RoutinesNode: TTreeNode; |
| 293 |
|
296 |
|
| 294 |
SymbolTable: TSymbolMap; |
297 |
SymbolTable: TSymbolMap; |
|
|
298 |
OptionsFile: TIniFile; |
| 295 |
|
299 |
|
| 296 |
procedure ChangeToSquare; |
300 |
procedure ChangeToSquare; |
| 297 |
procedure ChangeToWave; |
301 |
procedure ChangeToWave; |
@@ -322,6 +326,7 @@ type |
| 322 |
procedure PreviewC5; |
326 |
procedure PreviewC5; |
| 323 |
procedure Panic; |
327 |
procedure Panic; |
| 324 |
public |
328 |
public |
|
|
329 |
procedure OnTrackerGridResize(Sender: TObject); |
| 325 |
|
330 |
|
| 326 |
end; |
331 |
end; |
| 327 |
|
332 |
|
@@ -501,6 +506,15 @@ begin |
| 501 |
Spokeb(NR44, %10000000); |
506 |
Spokeb(NR44, %10000000); |
| 502 |
end; |
507 |
end; |
| 503 |
|
508 |
|
|
|
509 |
procedure TfrmTracker.OnTrackerGridResize(Sender: TObject); |
|
|
510 |
var |
|
|
511 |
Section: TCollectionItem; |
|
|
512 |
begin |
|
|
513 |
// Fix the size of the channel headers |
|
|
514 |
for Section in HeaderControl1.Sections do |
|
|
515 |
(Section as THeaderSection).Width := TrackerGrid.ColumnWidth; |
|
|
516 |
end; |
|
|
517 |
|
| 504 |
procedure TfrmTracker.LoadWave(Wave: Integer); |
518 |
procedure TfrmTracker.LoadWave(Wave: Integer); |
| 505 |
begin |
519 |
begin |
| 506 |
CurrentWave := @Song.Waves[Wave]; |
520 |
CurrentWave := @Song.Waves[Wave]; |
@@ -665,6 +679,9 @@ var |
| 665 |
begin |
679 |
begin |
| 666 |
if Assigned(TrackerGrid) then TrackerGrid.Free; |
680 |
if Assigned(TrackerGrid) then TrackerGrid.Free; |
| 667 |
TrackerGrid := TTrackerGrid.Create(Self, ScrollBox1, Song.Patterns); |
681 |
TrackerGrid := TTrackerGrid.Create(Self, ScrollBox1, Song.Patterns); |
|
|
682 |
TrackerGrid.OnResize:=@OnTrackerGridResize; |
|
|
683 |
|
|
|
684 |
TrackerGrid.FontSize := OptionsFile.ReadInteger('hUGETracker', 'fontsize', 12); |
| 668 |
|
685 |
|
| 669 |
// Fix the size of the channel headers |
686 |
// Fix the size of the channel headers |
| 670 |
for Section in HeaderControl1.Sections do |
687 |
for Section in HeaderControl1.Sections do |
@@ -875,6 +892,7 @@ begin |
| 875 |
|
892 |
|
| 876 |
ReturnNilIfGrowHeapFails := False; |
893 |
ReturnNilIfGrowHeapFails := False; |
| 877 |
PreviewingInstrument := -1; |
894 |
PreviewingInstrument := -1; |
|
|
895 |
OptionsFile := TINIFile.Create('options.ini'); |
| 878 |
|
896 |
|
| 879 |
InitializeSong(Song); |
897 |
InitializeSong(Song); |
| 880 |
|
898 |
|
@@ -918,7 +936,7 @@ begin |
| 918 |
EmulationThread.Start; |
936 |
EmulationThread.Start; |
| 919 |
ResetEmulationThread; //TODO: remove this hack |
937 |
ResetEmulationThread; //TODO: remove this hack |
| 920 |
|
938 |
|
| 921 |
if (not FileExists('firstrun')) and FileExists('Sample Songs\Cognition.uge') then begin |
939 |
if (not OptionsFile.ReadBool('hUGETracker', 'firstrun', False)) and FileExists('Sample Songs\Cognition.uge') then begin |
| 922 |
stream := TFileStream.Create('Sample Songs\Cognition.uge', fmOpenRead); |
940 |
stream := TFileStream.Create('Sample Songs\Cognition.uge', fmOpenRead); |
| 923 |
try |
941 |
try |
| 924 |
ReadSongFromStream(stream, Song); |
942 |
ReadSongFromStream(stream, Song); |
@@ -927,9 +945,7 @@ begin |
| 927 |
end; |
945 |
end; |
| 928 |
UpdateUIAfterLoad; |
946 |
UpdateUIAfterLoad; |
| 929 |
|
947 |
|
| 930 |
AssignFile(F, 'firstrun'); |
948 |
OptionsFile.WriteBool('hUGETracker', 'firstrun', True); |
| 931 |
Rewrite(F); |
|
|
| 932 |
CloseFile(F); |
|
|
| 933 |
end; |
949 |
end; |
| 934 |
end; |
950 |
end; |
| 935 |
|
951 |
|
@@ -1319,6 +1335,15 @@ begin |
| 1319 |
|
1335 |
|
| 1320 |
end; |
1336 |
end; |
| 1321 |
|
1337 |
|
|
|
1338 |
procedure TfrmTracker.MenuItem26Click(Sender: TObject); |
|
|
1339 |
begin |
|
|
1340 |
frmOptions.FontSizeSpinner.Value := TrackerGrid.FontSize; |
|
|
1341 |
frmOptions.ShowModal; |
|
|
1342 |
TrackerGrid.FontSize := frmOptions.FontSizeSpinner.Value; |
|
|
1343 |
|
|
|
1344 |
OptionsFile.WriteInteger('hUGETracker', 'fontsize', TrackerGrid.FontSize); |
|
|
1345 |
end; |
|
|
1346 |
|
| 1322 |
procedure TfrmTracker.MenuItem5Click(Sender: TObject); |
1347 |
procedure TfrmTracker.MenuItem5Click(Sender: TObject); |
| 1323 |
var |
1348 |
var |
| 1324 |
AboutForm: TfrmAboutHugeTracker; |
1349 |
AboutForm: TfrmAboutHugeTracker; |