@@ -9,8 +9,8 @@ uses |
| 9 |
FileUtil, math, Instruments, Waves, Song, Utils, Constants, |
9 |
FileUtil, math, Instruments, Waves, Song, Utils, Constants, |
| 10 |
sound, vars, machine, about_hugetracker, TrackerGrid, lclintf, lmessages, |
10 |
sound, vars, machine, about_hugetracker, TrackerGrid, lclintf, lmessages, |
| 11 |
Buttons, Grids, DBCtrls, HugeDatatypes, LCLType, Clipbrd, RackCtls, Codegen, |
11 |
Buttons, Grids, DBCtrls, HugeDatatypes, LCLType, Clipbrd, RackCtls, Codegen, |
| 12 |
SymParser, options, IniFiles, bgrabitmap, effecteditor, RenderToWave, |
12 |
SymParser, options, bgrabitmap, effecteditor, RenderToWave, |
| 13 |
modimport, mainloop, strutils, Types; |
13 |
modimport, mainloop, strutils, Types, Keymap, hUGESettings; |
| 14 |
|
14 |
|
| 15 |
type |
15 |
type |
| 16 |
{ TfrmTracker } |
16 |
{ TfrmTracker } |
@@ -418,8 +418,6 @@ type |
| 418 |
WavesNode, |
418 |
WavesNode, |
| 419 |
RoutinesNode: TTreeNode; |
419 |
RoutinesNode: TTreeNode; |
| 420 |
|
420 |
|
| 421 |
OptionsFile: TIniFile; |
|
|
| 422 |
|
|
|
| 423 |
VisualizerBuffer: TBGRABitmap; |
421 |
VisualizerBuffer: TBGRABitmap; |
| 424 |
|
422 |
|
| 425 |
InFDCallback: Boolean; |
423 |
InFDCallback: Boolean; |
@@ -446,6 +444,7 @@ type |
| 446 |
procedure OnNotePlaced(var Msg: TLMessage); message LM_PREVIEW_NOTE; |
444 |
procedure OnNotePlaced(var Msg: TLMessage); message LM_PREVIEW_NOTE; |
| 447 |
procedure OnSampleSongMenuItemClicked(Sender: TObject); |
445 |
procedure OnSampleSongMenuItemClicked(Sender: TObject); |
| 448 |
|
446 |
|
|
|
447 |
procedure CreateKeymap; |
| 449 |
procedure RecreateTrackerGrid; |
448 |
procedure RecreateTrackerGrid; |
| 450 |
procedure UpdateUIAfterLoad(FileName: String = ''); |
449 |
procedure UpdateUIAfterLoad(FileName: String = ''); |
| 451 |
procedure UpdateWindowTitle; |
450 |
procedure UpdateWindowTitle; |
@@ -991,6 +990,23 @@ begin |
| 991 |
LoadSong('Sample Songs/'+TMenuItem(Sender).Caption); |
990 |
LoadSong('Sample Songs/'+TMenuItem(Sender).Caption); |
| 992 |
end; |
991 |
end; |
| 993 |
|
992 |
|
|
|
993 |
procedure TfrmTracker.CreateKeymap; |
|
|
994 |
var |
|
|
995 |
StringGrid: TStringGrid; |
|
|
996 |
begin |
|
|
997 |
if not TrackerSettings.UseCustomKeymap then |
|
|
998 |
LoadDefaultKeybindings |
|
|
999 |
else begin |
|
|
1000 |
StringGrid := TStringGrid.Create(nil); // UGH! |
|
|
1001 |
try |
|
|
1002 |
StringGrid.LoadFromFile('custom_keymap.km'); |
|
|
1003 |
LoadCustomKeybindings(StringGrid); |
|
|
1004 |
finally |
|
|
1005 |
StringGrid.Free; |
|
|
1006 |
end; |
|
|
1007 |
end; |
|
|
1008 |
end; |
|
|
1009 |
|
| 994 |
procedure TfrmTracker.RecreateTrackerGrid; |
1010 |
procedure TfrmTracker.RecreateTrackerGrid; |
| 995 |
var |
1011 |
var |
| 996 |
I: Integer; |
1012 |
I: Integer; |
@@ -1002,8 +1018,8 @@ begin |
| 1002 |
TrackerGrid.Left := RowNumberStringGrid.Left + RowNumberStringGrid.Width; |
1018 |
TrackerGrid.Left := RowNumberStringGrid.Left + RowNumberStringGrid.Width; |
| 1003 |
RowNumberStringGrid.DefaultRowHeight := TrackerGrid.RowHeight; |
1019 |
RowNumberStringGrid.DefaultRowHeight := TrackerGrid.RowHeight; |
| 1004 |
|
1020 |
|
| 1005 |
TrackerGrid.FontSize := OptionsFile.ReadInteger('hUGETracker', 'fontsize', 12); |
1021 |
TrackerGrid.FontSize := TrackerSettings.PatternEditorFontSize; |
| 1006 |
ScopesOn := OptionsFile.ReadBool('hUGETracker', 'ScopesOn', True); |
1022 |
ScopesOn := TrackerSettings.UseScopes; |
| 1007 |
|
1023 |
|
| 1008 |
// Fix the size of the channel headers |
1024 |
// Fix the size of the channel headers |
| 1009 |
for I := 1 to HeaderControl1.Sections.Count-1 do |
1025 |
for I := 1 to HeaderControl1.Sections.Count-1 do |
@@ -1232,7 +1248,6 @@ begin |
| 1232 |
VisualizerBuffer := TBGRABitmap.Create(Duty1Visualizer.Width, Duty1Visualizer.Height); |
1248 |
VisualizerBuffer := TBGRABitmap.Create(Duty1Visualizer.Width, Duty1Visualizer.Height); |
| 1233 |
|
1249 |
|
| 1234 |
PreviewingInstrument := -1; |
1250 |
PreviewingInstrument := -1; |
| 1235 |
OptionsFile := TINIFile.Create('options.ini'); |
|
|
| 1236 |
|
1251 |
|
| 1237 |
// Fetch the tree items |
1252 |
// Fetch the tree items |
| 1238 |
with TreeView1 do begin |
1253 |
with TreeView1 do begin |
@@ -1262,6 +1277,7 @@ begin |
| 1262 |
|
1277 |
|
| 1263 |
// Create pattern editor control |
1278 |
// Create pattern editor control |
| 1264 |
RecreateTrackerGrid; |
1279 |
RecreateTrackerGrid; |
|
|
1280 |
CreateKeymap; |
| 1265 |
|
1281 |
|
| 1266 |
// Initialize ticks per row |
1282 |
// Initialize ticks per row |
| 1267 |
Song.TicksPerRow := TicksPerRowSpinEdit.Value; |
1283 |
Song.TicksPerRow := TicksPerRowSpinEdit.Value; |
@@ -2077,17 +2093,15 @@ end; |
| 2077 |
|
2093 |
|
| 2078 |
procedure TfrmTracker.MenuItem26Click(Sender: TObject); |
2094 |
procedure TfrmTracker.MenuItem26Click(Sender: TObject); |
| 2079 |
begin |
2095 |
begin |
| 2080 |
frmOptions.FontSizeSpinner.Value := TrackerGrid.FontSize; |
|
|
| 2081 |
frmOptions.ScopesCheck.Checked := ScopesOn; |
|
|
| 2082 |
frmOptions.ShowModal; |
2096 |
frmOptions.ShowModal; |
| 2083 |
TrackerGrid.FontSize := frmOptions.FontSizeSpinner.Value; |
|
|
| 2084 |
ScopesOn := frmOptions.ScopesCheck.Checked; |
|
|
| 2085 |
|
2097 |
|
| 2086 |
OptionsFile.WriteInteger('hUGETracker', 'fontsize', TrackerGrid.FontSize); |
2098 |
TrackerGrid.FontSize := TrackerSettings.PatternEditorFontSize; |
| 2087 |
OptionsFile.WriteBool('hUGETracker', 'ScopesOn', ScopesOn); |
2099 |
ScopesOn := TrackerSettings.UseScopes; |
|
|
2100 |
|
| 2088 |
OscilloscopeUpdateTimer.Enabled := ScopesOn; |
2101 |
OscilloscopeUpdateTimer.Enabled := ScopesOn; |
| 2089 |
Panel2.Visible := ScopesOn; |
2102 |
Panel2.Visible := ScopesOn; |
| 2090 |
|
2103 |
|
|
|
2104 |
CreateKeymap |
| 2091 |
end; |
2105 |
end; |
| 2092 |
|
2106 |
|
| 2093 |
procedure TfrmTracker.MenuItem31Click(Sender: TObject); |
2107 |
procedure TfrmTracker.MenuItem31Click(Sender: TObject); |