@@ -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, RackCtls, Codegen, SymParser, options, IniFiles, |
| 13 |
SymParser, options, IniFiles; |
13 |
bgrabitmap; |
| 14 |
|
14 |
|
| 15 |
type |
15 |
type |
| 16 |
{ TfrmTracker } |
16 |
{ TfrmTracker } |
@@ -32,6 +32,8 @@ type |
| 32 |
MenuItem25: TMenuItem; |
32 |
MenuItem25: TMenuItem; |
| 33 |
MenuItem26: TMenuItem; |
33 |
MenuItem26: TMenuItem; |
| 34 |
MenuItem27: TMenuItem; |
34 |
MenuItem27: TMenuItem; |
|
|
35 |
MenuItem28: TMenuItem; |
|
|
36 |
TrackerPopupEditEffect: TMenuItem; |
| 35 |
TrackerPopupTransposeOctaveUp: TMenuItem; |
37 |
TrackerPopupTransposeOctaveUp: TMenuItem; |
| 36 |
TrackerPopupTransposeOctaveDown: TMenuItem; |
38 |
TrackerPopupTransposeOctaveDown: TMenuItem; |
| 37 |
TrackerPopupTransposeSemiUp: TMenuItem; |
39 |
TrackerPopupTransposeSemiUp: TMenuItem; |
@@ -277,6 +279,7 @@ type |
| 277 |
procedure ExportGBButtonClick(Sender: TObject); |
279 |
procedure ExportGBButtonClick(Sender: TObject); |
| 278 |
procedure TrackerPopupCopyClick(Sender: TObject); |
280 |
procedure TrackerPopupCopyClick(Sender: TObject); |
| 279 |
procedure TrackerPopupCutClick(Sender: TObject); |
281 |
procedure TrackerPopupCutClick(Sender: TObject); |
|
|
282 |
procedure TrackerPopupEditEffectClick(Sender: TObject); |
| 280 |
procedure TrackerPopupEraseClick(Sender: TObject); |
283 |
procedure TrackerPopupEraseClick(Sender: TObject); |
| 281 |
procedure TrackerPopupFloodPasteClick(Sender: TObject); |
284 |
procedure TrackerPopupFloodPasteClick(Sender: TObject); |
| 282 |
procedure TrackerPopupPasteClick(Sender: TObject); |
285 |
procedure TrackerPopupPasteClick(Sender: TObject); |
@@ -322,13 +325,14 @@ type |
| 322 |
DrawingWave: Boolean; |
325 |
DrawingWave: Boolean; |
| 323 |
Playing: Boolean; |
326 |
Playing: Boolean; |
| 324 |
LoadingFile: Boolean; |
327 |
LoadingFile: Boolean; |
|
|
328 |
RedrawingOscillators: Boolean; |
| 325 |
|
329 |
|
| 326 |
{PatternsNode, }InstrumentsNode, WavesNode, RoutinesNode: TTreeNode; |
330 |
{PatternsNode, }InstrumentsNode, WavesNode, RoutinesNode: TTreeNode; |
| 327 |
|
331 |
|
| 328 |
SymbolTable: TSymbolMap; |
332 |
SymbolTable: TSymbolMap; |
| 329 |
OptionsFile: TIniFile; |
333 |
OptionsFile: TIniFile; |
| 330 |
|
334 |
|
| 331 |
VisualizerBuffer: TBitmap; |
335 |
VisualizerBuffer: TBGRABitmap; |
| 332 |
|
336 |
|
| 333 |
procedure ChangeToSquare; |
337 |
procedure ChangeToSquare; |
| 334 |
procedure ChangeToWave; |
338 |
procedure ChangeToWave; |
@@ -477,7 +481,8 @@ begin |
| 477 |
Line(0, PB.Height, PB.Width, 0); |
481 |
Line(0, PB.Height, PB.Width, 0); |
| 478 |
end; |
482 |
end; |
| 479 |
end; |
483 |
end; |
| 480 |
PB.Canvas.Draw(0, 0, VisualizerBuffer); |
484 |
VisualizerBuffer.Draw(PB.Canvas, 0, 0, True); |
|
|
485 |
//PB.Canvas.Draw(0, 0, VisualizerBuffer); |
| 481 |
end; |
486 |
end; |
| 482 |
|
487 |
|
| 483 |
procedure TfrmTracker.PreviewInstrument(Freq: Integer; Instr: Integer); |
488 |
procedure TfrmTracker.PreviewInstrument(Freq: Integer; Instr: Integer); |
@@ -939,9 +944,7 @@ begin |
| 939 |
'font file, so please install PixeliteTTF.ttf and relaunch! Thanks.', |
944 |
'font file, so please install PixeliteTTF.ttf and relaunch! Thanks.', |
| 940 |
mtWarning, [mbOk], 0); |
945 |
mtWarning, [mbOk], 0); |
| 941 |
|
946 |
|
| 942 |
VisualizerBuffer := TBitmap.Create; |
947 |
VisualizerBuffer := TBGRABitmap.Create(Duty1Visualizer.Width, Duty1Visualizer.Height); |
| 943 |
VisualizerBuffer.Height := Duty1Visualizer.Height; |
|
|
| 944 |
VisualizerBuffer.Width := Duty1Visualizer.Width; |
|
|
| 945 |
|
948 |
|
| 946 |
ReturnNilIfGrowHeapFails := False; |
949 |
ReturnNilIfGrowHeapFails := False; |
| 947 |
PreviewingInstrument := -1; |
950 |
PreviewingInstrument := -1; |
@@ -1417,12 +1420,8 @@ begin |
| 1417 |
end; |
1420 |
end; |
| 1418 |
|
1421 |
|
| 1419 |
procedure TfrmTracker.MenuItem5Click(Sender: TObject); |
1422 |
procedure TfrmTracker.MenuItem5Click(Sender: TObject); |
| 1420 |
var |
|
|
| 1421 |
AboutForm: TfrmAboutHugeTracker; |
|
|
| 1422 |
begin |
1423 |
begin |
| 1423 |
AboutForm := TfrmAboutHugetracker.Create(Self); |
1424 |
frmAboutHugetracker.Show; |
| 1424 |
AboutForm.ShowModal; |
|
|
| 1425 |
AboutForm.Free; |
|
|
| 1426 |
end; |
1425 |
end; |
| 1427 |
|
1426 |
|
| 1428 |
procedure TfrmTracker.MenuItem8Click(Sender: TObject); |
1427 |
procedure TfrmTracker.MenuItem8Click(Sender: TObject); |
@@ -1526,10 +1525,12 @@ var |
| 1526 |
I: Integer; |
1525 |
I: Integer; |
| 1527 |
Samp: Integer; |
1526 |
Samp: Integer; |
| 1528 |
begin |
1527 |
begin |
| 1529 |
if Playing then |
1528 |
//if RedrawingOscillators then Exit; |
|
|
1529 |
//RedrawingOscillators := True; |
|
|
1530 |
{if Playing then |
| 1530 |
OscilloscopeUpdateTimer.Interval := 25 |
1531 |
OscilloscopeUpdateTimer.Interval := 25 |
| 1531 |
else |
1532 |
else |
| 1532 |
OscilloscopeUpdateTimer.Interval := 200; |
1533 |
OscilloscopeUpdateTimer.Interval := 200;} |
| 1533 |
|
1534 |
|
| 1534 |
Max1 := -1; |
1535 |
Max1 := -1; |
| 1535 |
Max2 := -1; |
1536 |
Max2 := -1; |
@@ -1552,6 +1553,9 @@ begin |
| 1552 |
Max2 := Trunc((Max2/512)*100); |
1553 |
Max2 := Trunc((Max2/512)*100); |
| 1553 |
if Max1 > LEDMeter1.Position then LEDMeter1.Position := Max1; |
1554 |
if Max1 > LEDMeter1.Position then LEDMeter1.Position := Max1; |
| 1554 |
if Max2 > LEDMeter2.Position then LEDMeter2.Position := Max2; |
1555 |
if Max2 > LEDMeter2.Position then LEDMeter2.Position := Max2; |
|
|
1556 |
|
|
|
1557 |
//Application.ProcessMessages; |
|
|
1558 |
//RedrawingOscillators := False; |
| 1555 |
end; |
1559 |
end; |
| 1556 |
|
1560 |
|
| 1557 |
procedure TfrmTracker.ExportGBSButtonClick(Sender: TObject); |
1561 |
procedure TfrmTracker.ExportGBSButtonClick(Sender: TObject); |
@@ -1603,6 +1607,11 @@ begin |
| 1603 |
SendMessage(TrackerGrid.Handle, LM_CUT, 0, 0) |
1607 |
SendMessage(TrackerGrid.Handle, LM_CUT, 0, 0) |
| 1604 |
end; |
1608 |
end; |
| 1605 |
|
1609 |
|
|
|
1610 |
procedure TfrmTracker.TrackerPopupEditEffectClick(Sender: TObject); |
|
|
1611 |
begin |
|
|
1612 |
TrackerGrid.OpenEffectEditor; |
|
|
1613 |
end; |
|
|
1614 |
|
| 1606 |
procedure TfrmTracker.TrackerPopupEraseClick(Sender: TObject); |
1615 |
procedure TfrmTracker.TrackerPopupEraseClick(Sender: TObject); |
| 1607 |
begin |
1616 |
begin |
| 1608 |
TrackerGrid.EraseSelection |
1617 |
TrackerGrid.EraseSelection |