Commit cbee40c

Nick committed on
Work on scaling, kinda working now
commit cbee40c356af7d238691d3d23cf56846c243a009 parent 3052808
6 changed files +188−420
ModifiedGBEmu.lpi +6−13
@@ -4,17 +4,10 @@
4 <Version Value="11"/> 4 <Version Value="11"/>
5 <PathDelim Value="\"/> 5 <PathDelim Value="\"/>
6 <General> 6 <General>
7 <Flags>
8 <MainUnitHasUsesSectionForAllUnits Value="False"/>
9 <MainUnitHasCreateFormStatements Value="False"/>
10 <MainUnitHasTitleStatement Value="False"/>
11 <MainUnitHasScaledStatement Value="False"/>
12 </Flags>
13 <SessionStorage Value="InProjectDir"/> 7 <SessionStorage Value="InProjectDir"/>
14 <MainUnit Value="0"/> 8 <MainUnit Value="0"/>
15 <Title Value="hUGETracker"/> 9 <Title Value="hUGETracker"/>
16 <Scaled Value="True"/> 10 <Scaled Value="True"/>
17 <UseAppBundle Value="False"/>
18 <ResourceType Value="res"/> 11 <ResourceType Value="res"/>
19 <UseXPManifest Value="True"/> 12 <UseXPManifest Value="True"/>
20 <XPManifest> 13 <XPManifest>
@@ -30,6 +23,9 @@
30 <CompilerOptions> 23 <CompilerOptions>
31 <Version Value="11"/> 24 <Version Value="11"/>
32 <PathDelim Value="\"/> 25 <PathDelim Value="\"/>
26 <Target>
27 <Filename Value="Release\hUGETracker"/>
28 </Target>
33 <SearchPaths> 29 <SearchPaths>
34 <IncludeFiles Value="GPU;CPU;Sound;Global;$(ProjOutDir)"/> 30 <IncludeFiles Value="GPU;CPU;Sound;Global;$(ProjOutDir)"/>
35 <OtherUnitFiles Value="CPU;Sound;Global;Pascal-SDL-2-Headers"/> 31 <OtherUnitFiles Value="CPU;Sound;Global;Pascal-SDL-2-Headers"/>
@@ -84,7 +80,7 @@
84 </Mode0> 80 </Mode0>
85 </Modes> 81 </Modes>
86 </RunParams> 82 </RunParams>
87 <RequiredPackages Count="6"> 83 <RequiredPackages Count="5">
88 <Item1> 84 <Item1>
89 <PackageName Value="etpackage"/> 85 <PackageName Value="etpackage"/>
90 </Item1> 86 </Item1>
@@ -95,14 +91,11 @@
95 <PackageName Value="SynEdit"/> 91 <PackageName Value="SynEdit"/>
96 </Item3> 92 </Item3>
97 <Item4> 93 <Item4>
98 <PackageName Value="eccontrols"/> 94 <PackageName Value="LazControls"/>
99 </Item4> 95 </Item4>
100 <Item5> 96 <Item5>
101 <PackageName Value="LazControls"/>
102 </Item5>
103 <Item6>
104 <PackageName Value="LCL"/> 97 <PackageName Value="LCL"/>
105 </Item6> 98 </Item5>
106 </RequiredPackages> 99 </RequiredPackages>
107 <Units Count="22"> 100 <Units Count="22">
108 <Unit0> 101 <Unit0>
ModifiedGBEmu.lpr +2−0
@@ -21,6 +21,8 @@ uses
21 {$R *.res} 21 {$R *.res}
22 22
23 begin 23 begin
24 Application.Scaled:=True;
25 Application.Title:='hUGETracker';
24 Application.Initialize; 26 Application.Initialize;
25 Application.CreateForm(TfrmTracker, frmTracker); 27 Application.CreateForm(TfrmTracker, frmTracker);
26 Application.Run; 28 Application.Run;
AddedSetupHardlinks.cmd +13−0
@@ -0,0 +1,13 @@
1 pushd lib\Development\i386-win32
2 mklink/J hUGEDriver ..\..\..\hUGEDriver
3 mklink/H halt.gb ..\..\..\halt.gb
4
5 popd
6
7 pushd lib\Production\i386-win32
8 mklink/J hUGEDriver ..\..\..\hUGEDriver
9 mklink/H halt.gb ..\..\..\halt.gb
10
11 popd
12
13 pause
Modifiedtracker.lfm +138−377
@@ -1,11 +1,11 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 830 2 Left = 2989
3 Height = 1249 3 Height = 1250
4 Top = 199 4 Top = 496
5 Width = 2068 5 Width = 2067
6 Caption = 'hUGETracker' 6 Caption = 'hUGETracker'
7 ClientHeight = 1215 7 ClientHeight = 1216
8 ClientWidth = 2068 8 ClientWidth = 2067
9 DesignTimePPI = 168 9 DesignTimePPI = 168
10 KeyPreview = True 10 KeyPreview = True
11 Menu = MainMenu1 11 Menu = MainMenu1
@@ -17,7 +17,7 @@ object frmTracker: TfrmTracker
17 LCLVersion = '2.0.6.0' 17 LCLVersion = '2.0.6.0'
18 object TreeView1: TTreeView 18 object TreeView1: TTreeView
19 Left = 0 19 Left = 0
20 Height = 819 20 Height = 820
21 Top = 353 21 Top = 353
22 Width = 338 22 Width = 338
23 Align = alLeft 23 Align = alLeft
@@ -35,35 +35,35 @@ object frmTracker: TfrmTracker
35 end 35 end
36 object Splitter1: TSplitter 36 object Splitter1: TSplitter
37 Left = 338 37 Left = 338
38 Height = 819 38 Height = 820
39 Top = 353 39 Top = 353
40 Width = 9 40 Width = 9
41 end 41 end
42 object Panel1: TPanel 42 object Panel1: TPanel
43 Left = 347 43 Left = 347
44 Height = 819 44 Height = 820
45 Top = 353 45 Top = 353
46 Width = 1721 46 Width = 1720
47 Align = alClient 47 Align = alClient
48 BevelOuter = bvNone 48 BevelOuter = bvNone
49 ClientHeight = 819 49 ClientHeight = 820
50 ClientWidth = 1721 50 ClientWidth = 1720
51 ParentFont = False 51 ParentFont = False
52 TabOrder = 2 52 TabOrder = 2
53 object PageControl1: TPageControl 53 object PageControl1: TPageControl
54 Left = 0 54 Left = 0
55 Height = 819 55 Height = 820
56 Top = 0 56 Top = 0
57 Width = 1721 57 Width = 1720
58 ActivePage = InstrumentTabSheet 58 ActivePage = GeneralTabSheet
59 Align = alClient 59 Align = alClient
60 ParentFont = False 60 ParentFont = False
61 TabIndex = 2 61 TabIndex = 0
62 TabOrder = 0 62 TabOrder = 0
63 object GeneralTabSheet: TTabSheet 63 object GeneralTabSheet: TTabSheet
64 Caption = 'General' 64 Caption = 'General'
65 ClientHeight = 450 65 ClientHeight = 777
66 ClientWidth = 969 66 ClientWidth = 1712
67 ParentFont = False 67 ParentFont = False
68 object SongInformationGroupbox: TGroupBox 68 object SongInformationGroupbox: TGroupBox
69 Left = 14 69 Left = 14
@@ -77,25 +77,25 @@ object frmTracker: TfrmTracker
77 TabOrder = 0 77 TabOrder = 0
78 object Label15: TLabel 78 object Label15: TLabel
79 Left = 14 79 Left = 14
80 Height = 15 80 Height = 30
81 Top = 28 81 Top = 28
82 Width = 27 82 Width = 47
83 Caption = 'Song' 83 Caption = 'Song'
84 ParentColor = False 84 ParentColor = False
85 ParentFont = False 85 ParentFont = False
86 end 86 end
87 object Label16: TLabel 87 object Label16: TLabel
88 Left = 12 88 Left = 12
89 Height = 15 89 Height = 30
90 Top = 84 90 Top = 84
91 Width = 28 91 Width = 49
92 Caption = 'Artist' 92 Caption = 'Artist'
93 ParentColor = False 93 ParentColor = False
94 ParentFont = False 94 ParentFont = False
95 end 95 end
96 object SongEdit: TEdit 96 object SongEdit: TEdit
97 Left = 98 97 Left = 98
98 Height = 23 98 Height = 38
99 Hint = 'The name of your composition' 99 Hint = 'The name of your composition'
100 Top = 14 100 Top = 14
101 Width = 378 101 Width = 378
@@ -105,7 +105,7 @@ object frmTracker: TfrmTracker
105 end 105 end
106 object ArtistEdit: TEdit 106 object ArtistEdit: TEdit
107 Left = 98 107 Left = 98
108 Height = 23 108 Height = 38
109 Hint = 'Your name or handle' 109 Hint = 'Your name or handle'
110 Top = 70 110 Top = 70
111 Width = 378 111 Width = 378
@@ -115,16 +115,16 @@ object frmTracker: TfrmTracker
115 end 115 end
116 object Label21: TLabel 116 object Label21: TLabel
117 Left = 14 117 Left = 14
118 Height = 15 118 Height = 30
119 Top = 136 119 Top = 136
120 Width = 114 120 Width = 197
121 Caption = 'Tempo (ticks per row)' 121 Caption = 'Tempo (ticks per row)'
122 ParentColor = False 122 ParentColor = False
123 ParentFont = False 123 ParentFont = False
124 end 124 end
125 object TicksPerRowSpinEdit: TSpinEdit 125 object TicksPerRowSpinEdit: TSpinEdit
126 Left = 233 126 Left = 233
127 Height = 23 127 Height = 38
128 Hint = 'How many ticks should happen before the row changes. Higher means slower' 128 Hint = 'How many ticks should happen before the row changes. Higher means slower'
129 Top = 128 129 Top = 128
130 Width = 88 130 Width = 88
@@ -139,17 +139,17 @@ object frmTracker: TfrmTracker
139 end 139 end
140 object PatternTabSheet: TTabSheet 140 object PatternTabSheet: TTabSheet
141 Caption = 'Patterns' 141 Caption = 'Patterns'
142 ClientHeight = 803 142 ClientHeight = 777
143 ClientWidth = 1701 143 ClientWidth = 1712
144 ParentFont = False 144 ParentFont = False
145 object Panel3: TPanel 145 object Panel3: TPanel
146 Left = 392 146 Left = 392
147 Height = 803 147 Height = 777
148 Top = 0 148 Top = 0
149 Width = 1309 149 Width = 1320
150 Align = alClient 150 Align = alClient
151 ClientHeight = 803 151 ClientHeight = 777
152 ClientWidth = 1309 152 ClientWidth = 1320
153 ParentFont = False 153 ParentFont = False
154 TabOrder = 0 154 TabOrder = 0
155 object HeaderControl1: THeaderControl 155 object HeaderControl1: THeaderControl
@@ -157,7 +157,7 @@ object frmTracker: TfrmTracker
157 Height = 52 157 Height = 52
158 Hint = 'Left click to mute, right click to solo' 158 Hint = 'Left click to mute, right click to solo'
159 Top = 1 159 Top = 1
160 Width = 1307 160 Width = 1318
161 DragReorder = False 161 DragReorder = False
162 Images = ImageList2 162 Images = ImageList2
163 Sections = < 163 Sections = <
@@ -197,9 +197,9 @@ object frmTracker: TfrmTracker
197 end 197 end
198 object ScrollBox1: TScrollBox 198 object ScrollBox1: TScrollBox
199 Left = 1 199 Left = 1
200 Height = 749 200 Height = 723
201 Top = 53 201 Top = 53
202 Width = 1307 202 Width = 1318
203 HorzScrollBar.Increment = 1 203 HorzScrollBar.Increment = 1
204 HorzScrollBar.Page = 1 204 HorzScrollBar.Page = 1
205 HorzScrollBar.Smooth = True 205 HorzScrollBar.Smooth = True
@@ -216,7 +216,7 @@ object frmTracker: TfrmTracker
216 end 216 end
217 object OrderEditStringGrid: TStringGrid 217 object OrderEditStringGrid: TStringGrid
218 Left = 0 218 Left = 0
219 Height = 803 219 Height = 777
220 Top = 0 220 Top = 0
221 Width = 392 221 Width = 392
222 Align = alLeft 222 Align = alLeft
@@ -281,18 +281,18 @@ object frmTracker: TfrmTracker
281 end 281 end
282 object InstrumentTabSheet: TTabSheet 282 object InstrumentTabSheet: TTabSheet
283 Caption = 'Instruments' 283 Caption = 'Instruments'
284 ClientHeight = 776 284 ClientHeight = 777
285 ClientWidth = 1713 285 ClientWidth = 1712
286 ParentFont = False 286 ParentFont = False
287 object PaintBox1: TPaintBox 287 object PaintBox1: TPaintBox
288 AnchorSideTop.Control = FlowPanel1 288 AnchorSideTop.Control = FlowPanel1
289 AnchorSideTop.Side = asrBottom 289 AnchorSideTop.Side = asrBottom
290 AnchorSideBottom.Side = asrBottom 290 AnchorSideBottom.Side = asrBottom
291 Left = 0 291 Left = 0
292 Height = 77 292 Height = 78
293 Hint = 'Preview of how the resulting waveform will look with envelope applied' 293 Hint = 'Preview of how the resulting waveform will look with envelope applied'
294 Top = 699 294 Top = 699
295 Width = 1713 295 Width = 1712
296 Align = alClient 296 Align = alClient
297 Color = clBlack 297 Color = clBlack
298 ParentColor = False 298 ParentColor = False
@@ -304,7 +304,7 @@ object frmTracker: TfrmTracker
304 Left = 0 304 Left = 0
305 Height = 699 305 Height = 699
306 Top = 0 306 Top = 0
307 Width = 1713 307 Width = 1712
308 Align = alTop 308 Align = alTop
309 AutoSize = True 309 AutoSize = True
310 BevelOuter = bvNone 310 BevelOuter = bvNone
@@ -433,58 +433,6 @@ object frmTracker: TfrmTracker
433 ParentFont = False 433 ParentFont = False
434 TabOrder = 3 434 TabOrder = 3
435 end 435 end
436 object LengthSpinner: TECSpinPosition
437 Left = 140
438 Height = 24
439 Hint = 'Units of length to cut the sound after'
440 Top = 147
441 Width = 310
442 Buttons.BtnBigDec.BtnOrder = 1
443 Buttons.BtnBigDec.Visible = False
444 Buttons.BtnBigInc.BtnOrder = 7
445 Buttons.BtnBigInc.Visible = False
446 Buttons.BtnDec.BtnOrder = 2
447 Buttons.BtnDec.Visible = False
448 Buttons.BtnDrag.BtnOrder = 4
449 Buttons.BtnDrag.Visible = False
450 Buttons.BtnInc.BtnOrder = 6
451 Buttons.BtnInc.Visible = False
452 Buttons.BtnMax.BtnOrder = 8
453 Buttons.BtnMax.Visible = False
454 Buttons.BtnMenu.BtnOrder = 5
455 Buttons.BtnMenu.Visible = False
456 Buttons.BtnMiddle.BtnOrder = 3
457 Buttons.BtnMiddle.Visible = False
458 Buttons.BtnMin.BtnOrder = 0
459 Buttons.BtnMin.Visible = False
460 Buttons.DiscreteChange = 1
461 Buttons.Increment = 1
462 Buttons.Middle = 50
463 Buttons.MouseIncrementX = 0.1
464 Buttons.MouseIncrementY = 0.05
465 Buttons.PageSize = 10
466 Buttons.ParentFont = False
467 Buttons.Style = ebsSplittedBlock
468 Enabled = False
469 ParentFont = False
470 Position = 0
471 ProgressFontOptions.FontSize = 0
472 ProgressFontOptions.FontStyles = [fsBold]
473 ProgressMiddlePos = 0
474 ProgressStyle = epsGradient
475 Scale.DateTimeFormat = 'hh:nn:ss'
476 Scale.LogarithmBase = 10
477 Scale.Max = 63
478 Scale.Min = 0
479 Scale.TickLongValue = 10
480 Scale.TickMiddleValue = 5
481 Scale.TickShortValue = 1
482 Scale.TickVisible = etvNone
483 Scale.ValueVisible = evvNone
484 ScaleFontOptions.FontSize = 7
485 ScaleFontOptions.FontStyles = []
486 OnChange = LengthSpinnerChange
487 end
488 object InstrumentImportButton: TButton 436 object InstrumentImportButton: TButton
489 Left = 24 437 Left = 24
490 Height = 44 438 Height = 44
@@ -493,7 +441,7 @@ object frmTracker: TfrmTracker
493 Caption = 'Import' 441 Caption = 'Import'
494 OnClick = InstrumentImportButtonClick 442 OnClick = InstrumentImportButtonClick
495 ParentFont = False 443 ParentFont = False
496 TabOrder = 5 444 TabOrder = 4
497 end 445 end
498 object InstrumentExportButton: TButton 446 object InstrumentExportButton: TButton
499 Left = 245 447 Left = 245
@@ -503,7 +451,7 @@ object frmTracker: TfrmTracker
503 Caption = 'Export' 451 Caption = 'Export'
504 OnClick = InstrumentExportButtonClick 452 OnClick = InstrumentExportButtonClick
505 ParentFont = False 453 ParentFont = False
506 TabOrder = 6 454 TabOrder = 5
507 end 455 end
508 object Button1: TButton 456 object Button1: TButton
509 Left = 24 457 Left = 24
@@ -513,6 +461,17 @@ object frmTracker: TfrmTracker
513 Caption = 'Test C-5' 461 Caption = 'Test C-5'
514 OnClick = Button1Click 462 OnClick = Button1Click
515 ParentFont = False 463 ParentFont = False
464 TabOrder = 6
465 end
466 object LengthTrackbar: TTrackBar
467 Left = 136
468 Height = 44
469 Top = 144
470 Width = 312
471 Max = 63
472 OnChange = LengthSpinnerChange
473 Position = 0
474 ParentFont = False
516 TabOrder = 7 475 TabOrder = 7
517 end 476 end
518 end 477 end
@@ -576,108 +535,6 @@ object frmTracker: TfrmTracker
576 ParentColor = False 535 ParentColor = False
577 ParentFont = False 536 ParentFont = False
578 end 537 end
579 object StartVolSpinner: TECSpinPosition
580 Left = 144
581 Height = 24
582 Hint = 'The initial volume when the note is retriggered'
583 Top = 16
584 Width = 344
585 Buttons.BtnBigDec.BtnOrder = 1
586 Buttons.BtnBigDec.Visible = False
587 Buttons.BtnBigInc.BtnOrder = 7
588 Buttons.BtnBigInc.Visible = False
589 Buttons.BtnDec.BtnOrder = 2
590 Buttons.BtnDec.Visible = False
591 Buttons.BtnDrag.BtnOrder = 4
592 Buttons.BtnDrag.Visible = False
593 Buttons.BtnInc.BtnOrder = 6
594 Buttons.BtnInc.Visible = False
595 Buttons.BtnMax.BtnOrder = 8
596 Buttons.BtnMax.Visible = False
597 Buttons.BtnMenu.BtnOrder = 5
598 Buttons.BtnMenu.Visible = False
599 Buttons.BtnMiddle.BtnOrder = 3
600 Buttons.BtnMiddle.Visible = False
601 Buttons.BtnMin.BtnOrder = 0
602 Buttons.BtnMin.Visible = False
603 Buttons.DiscreteChange = 1
604 Buttons.Increment = 1
605 Buttons.Middle = 50
606 Buttons.MouseIncrementX = 0.1
607 Buttons.MouseIncrementY = 0.05
608 Buttons.PageSize = 10
609 Buttons.ParentFont = False
610 Buttons.Style = ebsSplittedBlock
611 ParentFont = False
612 Position = 0
613 ProgressFontOptions.FontSize = 0
614 ProgressFontOptions.FontStyles = [fsBold]
615 ProgressMiddlePos = 0
616 ProgressStyle = epsGradient
617 Scale.DateTimeFormat = 'hh:nn:ss'
618 Scale.LogarithmBase = 10
619 Scale.Max = 15
620 Scale.Min = 0
621 Scale.TickLongValue = 10
622 Scale.TickMiddleValue = 5
623 Scale.TickShortValue = 1
624 Scale.TickVisible = etvNone
625 Scale.ValueVisible = evvNone
626 ScaleFontOptions.FontSize = 7
627 ScaleFontOptions.FontStyles = []
628 OnChange = StartVolSpinnerChange
629 end
630 object EnvChangeSpinner: TECSpinPosition
631 Left = 144
632 Height = 24
633 Hint = 'How much to change the volume each time'
634 Top = 152
635 Width = 344
636 Buttons.BtnBigDec.BtnOrder = 1
637 Buttons.BtnBigDec.Visible = False
638 Buttons.BtnBigInc.BtnOrder = 7
639 Buttons.BtnBigInc.Visible = False
640 Buttons.BtnDec.BtnOrder = 2
641 Buttons.BtnDec.Visible = False
642 Buttons.BtnDrag.BtnOrder = 4
643 Buttons.BtnDrag.Visible = False
644 Buttons.BtnInc.BtnOrder = 6
645 Buttons.BtnInc.Visible = False
646 Buttons.BtnMax.BtnOrder = 8
647 Buttons.BtnMax.Visible = False
648 Buttons.BtnMenu.BtnOrder = 5
649 Buttons.BtnMenu.Visible = False
650 Buttons.BtnMiddle.BtnOrder = 3
651 Buttons.BtnMiddle.Visible = False
652 Buttons.BtnMin.BtnOrder = 0
653 Buttons.BtnMin.Visible = False
654 Buttons.DiscreteChange = 1
655 Buttons.Increment = 1
656 Buttons.Middle = 50
657 Buttons.MouseIncrementX = 0.1
658 Buttons.MouseIncrementY = 0.05
659 Buttons.PageSize = 10
660 Buttons.ParentFont = False
661 Buttons.Style = ebsSplittedBlock
662 ParentFont = False
663 Position = 0
664 ProgressFontOptions.FontSize = 0
665 ProgressFontOptions.FontStyles = [fsBold]
666 ProgressMiddlePos = 0
667 ProgressStyle = epsGradient
668 Scale.DateTimeFormat = 'hh:nn:ss'
669 Scale.LogarithmBase = 10
670 Scale.Max = 7
671 Scale.Min = 0
672 Scale.TickLongValue = 10
673 Scale.TickMiddleValue = 5
674 Scale.TickShortValue = 1
675 Scale.TickVisible = etvNone
676 Scale.ValueVisible = evvNone
677 ScaleFontOptions.FontSize = 7
678 ScaleFontOptions.FontStyles = []
679 OnChange = EnvChangeSpinnerChange
680 end
681 object Panel5: TPanel 538 object Panel5: TPanel
682 Left = 525 539 Left = 525
683 Height = 184 540 Height = 184
@@ -687,7 +544,7 @@ object frmTracker: TfrmTracker
687 ClientHeight = 184 544 ClientHeight = 184
688 ClientWidth = 606 545 ClientWidth = 606
689 ParentFont = False 546 ParentFont = False
690 TabOrder = 3 547 TabOrder = 1
691 object EnvelopePaintbox: TPaintBox 548 object EnvelopePaintbox: TPaintBox
692 Left = 1 549 Left = 1
693 Height = 182 550 Height = 182
@@ -699,6 +556,28 @@ object frmTracker: TfrmTracker
699 OnPaint = EnvelopePaintboxPaint 556 OnPaint = EnvelopePaintboxPaint
700 end 557 end
701 end 558 end
559 object StartVolTrackbar: TTrackBar
560 Left = 144
561 Height = 44
562 Top = 14
563 Width = 343
564 Max = 15
565 OnChange = StartVolSpinnerChange
566 Position = 0
567 ParentFont = False
568 TabOrder = 2
569 end
570 object EnvChangeTrackbar: TTrackBar
571 Left = 144
572 Height = 44
573 Top = 144
574 Width = 343
575 Max = 7
576 OnChange = EnvChangeSpinnerChange
577 Position = 0
578 ParentFont = False
579 TabOrder = 3
580 end
702 end 581 end
703 object SquareGroupBox: TGroupBox 582 object SquareGroupBox: TGroupBox
704 Left = 12 583 Left = 12
@@ -819,56 +698,16 @@ object frmTracker: TfrmTracker
819 TabOrder = 2 698 TabOrder = 2
820 Text = '50% (square)' 699 Text = '50% (square)'
821 end 700 end
822 object SweepSizeSpinner: TECSpinPosition 701 object SweepSizeTrackbar: TTrackBar
823 Left = 182 702 Left = 184
824 Height = 24 703 Height = 44
825 Hint = 'Change by this amount each sweep tick' 704 Top = 140
826 Top = 144 705 Width = 343
827 Width = 350 706 Max = 7
828 Buttons.BtnBigDec.BtnOrder = 1
829 Buttons.BtnBigDec.Visible = False
830 Buttons.BtnBigInc.BtnOrder = 7
831 Buttons.BtnBigInc.Visible = False
832 Buttons.BtnDec.BtnOrder = 2
833 Buttons.BtnDec.Visible = False
834 Buttons.BtnDrag.BtnOrder = 4
835 Buttons.BtnDrag.Visible = False
836 Buttons.BtnInc.BtnOrder = 6
837 Buttons.BtnInc.Visible = False
838 Buttons.BtnMax.BtnOrder = 8
839 Buttons.BtnMax.Visible = False
840 Buttons.BtnMenu.BtnOrder = 5
841 Buttons.BtnMenu.Visible = False
842 Buttons.BtnMiddle.BtnOrder = 3
843 Buttons.BtnMiddle.Visible = False
844 Buttons.BtnMin.BtnOrder = 0
845 Buttons.BtnMin.Visible = False
846 Buttons.DiscreteChange = 1
847 Buttons.Increment = 1
848 Buttons.Middle = 50
849 Buttons.MouseIncrementX = 0.1
850 Buttons.MouseIncrementY = 0.05
851 Buttons.PageSize = 10
852 Buttons.ParentFont = False
853 Buttons.Style = ebsSplittedBlock
854 ParentFont = False
855 Position = 0
856 ProgressFontOptions.FontSize = 0
857 ProgressFontOptions.FontStyles = [fsBold]
858 ProgressMiddlePos = 0
859 ProgressStyle = epsGradient
860 Scale.DateTimeFormat = 'hh:nn:ss'
861 Scale.LogarithmBase = 10
862 Scale.Max = 7
863 Scale.Min = 0
864 Scale.TickLongValue = 10
865 Scale.TickMiddleValue = 5
866 Scale.TickShortValue = 1
867 Scale.TickVisible = etvNone
868 Scale.ValueVisible = evvNone
869 ScaleFontOptions.FontSize = 7
870 ScaleFontOptions.FontStyles = []
871 OnChange = SweepSizeSpinnerChange 707 OnChange = SweepSizeSpinnerChange
708 Position = 0
709 ParentFont = False
710 TabOrder = 3
872 end 711 end
873 end 712 end
874 object WaveGroupBox: TGroupBox 713 object WaveGroupBox: TGroupBox
@@ -1029,106 +868,6 @@ object frmTracker: TfrmTracker
1029 ParentFont = False 868 ParentFont = False
1030 TabOrder = 1 869 TabOrder = 1
1031 end 870 end
1032 object DivRatioSpinner: TECSpinPosition
1033 Left = 192
1034 Height = 24
1035 Top = 96
1036 Width = 240
1037 Buttons.BtnBigDec.BtnOrder = 1
1038 Buttons.BtnBigDec.Visible = False
1039 Buttons.BtnBigInc.BtnOrder = 7
1040 Buttons.BtnBigInc.Visible = False
1041 Buttons.BtnDec.BtnOrder = 2
1042 Buttons.BtnDec.Visible = False
1043 Buttons.BtnDrag.BtnOrder = 4
1044 Buttons.BtnDrag.Visible = False
1045 Buttons.BtnInc.BtnOrder = 6
1046 Buttons.BtnInc.Visible = False
1047 Buttons.BtnMax.BtnOrder = 8
1048 Buttons.BtnMax.Visible = False
1049 Buttons.BtnMenu.BtnOrder = 5
1050 Buttons.BtnMenu.Visible = False
1051 Buttons.BtnMiddle.BtnOrder = 3
1052 Buttons.BtnMiddle.Visible = False
1053 Buttons.BtnMin.BtnOrder = 0
1054 Buttons.BtnMin.Visible = False
1055 Buttons.DiscreteChange = 1
1056 Buttons.Increment = 1
1057 Buttons.Middle = 50
1058 Buttons.MouseIncrementX = 0.1
1059 Buttons.MouseIncrementY = 0.05
1060 Buttons.PageSize = 10
1061 Buttons.ParentFont = False
1062 Buttons.Style = ebsSplittedBlock
1063 ParentFont = False
1064 Position = 0
1065 ProgressFontOptions.FontSize = 0
1066 ProgressFontOptions.FontStyles = [fsBold]
1067 ProgressMiddlePos = 0
1068 ProgressStyle = epsGradient
1069 Scale.DateTimeFormat = 'hh:nn:ss'
1070 Scale.LogarithmBase = 10
1071 Scale.Max = 7
1072 Scale.Min = 0
1073 Scale.TickLongValue = 10
1074 Scale.TickMiddleValue = 5
1075 Scale.TickShortValue = 1
1076 Scale.TickVisible = etvNone
1077 Scale.ValueVisible = evvNone
1078 ScaleFontOptions.FontSize = 7
1079 ScaleFontOptions.FontStyles = []
1080 OnChange = DivRatioSpinnerChange
1081 end
1082 object ShiftClockSpinner: TECSpinPosition
1083 Left = 192
1084 Height = 24
1085 Top = 28
1086 Width = 240
1087 Buttons.BtnBigDec.BtnOrder = 1
1088 Buttons.BtnBigDec.Visible = False
1089 Buttons.BtnBigInc.BtnOrder = 7
1090 Buttons.BtnBigInc.Visible = False
1091 Buttons.BtnDec.BtnOrder = 2
1092 Buttons.BtnDec.Visible = False
1093 Buttons.BtnDrag.BtnOrder = 4
1094 Buttons.BtnDrag.Visible = False
1095 Buttons.BtnInc.BtnOrder = 6
1096 Buttons.BtnInc.Visible = False
1097 Buttons.BtnMax.BtnOrder = 8
1098 Buttons.BtnMax.Visible = False
1099 Buttons.BtnMenu.BtnOrder = 5
1100 Buttons.BtnMenu.Visible = False
1101 Buttons.BtnMiddle.BtnOrder = 3
1102 Buttons.BtnMiddle.Visible = False
1103 Buttons.BtnMin.BtnOrder = 0
1104 Buttons.BtnMin.Visible = False
1105 Buttons.DiscreteChange = 1
1106 Buttons.Increment = 1
1107 Buttons.Middle = 50
1108 Buttons.MouseIncrementX = 0.1
1109 Buttons.MouseIncrementY = 0.05
1110 Buttons.PageSize = 10
1111 Buttons.ParentFont = False
1112 Buttons.Style = ebsSplittedBlock
1113 ParentFont = False
1114 Position = 0
1115 ProgressFontOptions.FontSize = 0
1116 ProgressFontOptions.FontStyles = [fsBold]
1117 ProgressMiddlePos = 0
1118 ProgressStyle = epsGradient
1119 Scale.DateTimeFormat = 'hh:nn:ss'
1120 Scale.LogarithmBase = 10
1121 Scale.Max = 15
1122 Scale.Min = 0
1123 Scale.TickLongValue = 10
1124 Scale.TickMiddleValue = 5
1125 Scale.TickShortValue = 1
1126 Scale.TickVisible = etvNone
1127 Scale.ValueVisible = evvNone
1128 ScaleFontOptions.FontSize = 7
1129 ScaleFontOptions.FontStyles = []
1130 OnChange = ShiftClockSpinnerChange
1131 end
1132 object Label25: TLabel 871 object Label25: TLabel
1133 Left = 16 872 Left = 16
1134 Height = 30 873 Height = 30
@@ -1138,6 +877,28 @@ object frmTracker: TfrmTracker
1138 ParentColor = False 877 ParentColor = False
1139 ParentFont = False 878 ParentFont = False
1140 end 879 end
880 object ShiftClockTrackbar: TTrackBar
881 Left = 192
882 Height = 44
883 Top = 28
884 Width = 256
885 Max = 15
886 OnChange = ShiftClockSpinnerChange
887 Position = 0
888 ParentFont = False
889 TabOrder = 2
890 end
891 object DivRatioTrackbar: TTrackBar
892 Left = 192
893 Height = 44
894 Top = 89
895 Width = 256
896 Max = 7
897 OnChange = DivRatioSpinnerChange
898 Position = 0
899 ParentFont = False
900 TabOrder = 3
901 end
1141 end 902 end
1142 end 903 end
1143 end 904 end
@@ -1792,16 +1553,16 @@ object frmTracker: TfrmTracker
1792 Left = 0 1553 Left = 0
1793 Height = 312 1554 Height = 312
1794 Top = 41 1555 Top = 41
1795 Width = 2068 1556 Width = 2067
1796 Align = alTop 1557 Align = alTop
1797 BevelOuter = bvNone 1558 BevelOuter = bvNone
1798 ChildSizing.HorizontalSpacing = 10 1559 ChildSizing.HorizontalSpacing = 10
1799 ClientHeight = 312 1560 ClientHeight = 312
1800 ClientWidth = 2068 1561 ClientWidth = 2067
1801 ParentFont = False 1562 ParentFont = False
1802 TabOrder = 3 1563 TabOrder = 3
1803 object Panel6: TPanel 1564 object Panel6: TPanel
1804 Left = 1378 1565 Left = 1377
1805 Height = 312 1566 Height = 312
1806 Top = 0 1567 Top = 0
1807 Width = 690 1568 Width = 690
@@ -1822,7 +1583,7 @@ object frmTracker: TfrmTracker
1822 object WaveVisualizer: TPaintBox 1583 object WaveVisualizer: TPaintBox
1823 Left = 1 1584 Left = 1
1824 Height = 159 1585 Height = 159
1825 Top = 151 1586 Top = 149
1826 Width = 345 1587 Width = 345
1827 ParentFont = False 1588 ParentFont = False
1828 OnPaint = WaveVisualizerPaint 1589 OnPaint = WaveVisualizerPaint
@@ -1838,7 +1599,7 @@ object frmTracker: TfrmTracker
1838 object NoiseVisualizer: TPaintBox 1599 object NoiseVisualizer: TPaintBox
1839 Left = 344 1600 Left = 344
1840 Height = 159 1601 Height = 159
1841 Top = 151 1602 Top = 149
1842 Width = 345 1603 Width = 345
1843 ParentFont = False 1604 ParentFont = False
1844 OnPaint = NoiseVisualizerPaint 1605 OnPaint = NoiseVisualizerPaint
@@ -1846,7 +1607,7 @@ object frmTracker: TfrmTracker
1846 end 1607 end
1847 object LEDMeter1: TLEDMeter 1608 object LEDMeter1: TLEDMeter
1848 AnchorSideRight.Side = asrBottom 1609 AnchorSideRight.Side = asrBottom
1849 Left = 1289 1610 Left = 1288
1850 Height = 312 1611 Height = 312
1851 Top = 0 1612 Top = 0
1852 Width = 88 1613 Width = 88
@@ -1870,7 +1631,7 @@ object frmTracker: TfrmTracker
1870 end 1631 end
1871 object LEDMeter2: TLEDMeter 1632 object LEDMeter2: TLEDMeter
1872 AnchorSideRight.Side = asrBottom 1633 AnchorSideRight.Side = asrBottom
1873 Left = 1200 1634 Left = 1199
1874 Height = 312 1635 Height = 312
1875 Top = 0 1636 Top = 0
1876 Width = 88 1637 Width = 88
@@ -1896,8 +1657,8 @@ object frmTracker: TfrmTracker
1896 object StatusBar1: TStatusBar 1657 object StatusBar1: TStatusBar
1897 Left = 0 1658 Left = 0
1898 Height = 43 1659 Height = 43
1899 Top = 1172 1660 Top = 1173
1900 Width = 2068 1661 Width = 2067
1901 AutoHint = True 1662 AutoHint = True
1902 Panels = < 1663 Panels = <
1903 item 1664 item
@@ -1918,7 +1679,7 @@ object frmTracker: TfrmTracker
1918 Left = 0 1679 Left = 0
1919 Height = 41 1680 Height = 41
1920 Top = 0 1681 Top = 0
1921 Width = 2068 1682 Width = 2067
1922 AutoSize = True 1683 AutoSize = True
1923 Caption = 'ToolBar1' 1684 Caption = 'ToolBar1'
1924 EdgeBorders = [ebBottom] 1685 EdgeBorders = [ebBottom]
@@ -1935,7 +1696,7 @@ object frmTracker: TfrmTracker
1935 ParentShowHint = False 1696 ParentShowHint = False
1936 end 1697 end
1937 object PanicToolButton: TToolButton 1698 object PanicToolButton: TToolButton
1938 Left = 561 1699 Left = 547
1939 Hint = 'Stops all sound output' 1700 Hint = 'Stops all sound output'
1940 Top = 0 1701 Top = 0
1941 AutoSize = True 1702 AutoSize = True
@@ -1946,21 +1707,21 @@ object frmTracker: TfrmTracker
1946 ShowHint = True 1707 ShowHint = True
1947 end 1708 end
1948 object ToolButton2: TToolButton 1709 object ToolButton2: TToolButton
1949 Left = 173 1710 Left = 169
1950 Top = 0 1711 Top = 0
1951 Caption = '⏯' 1712 Caption = '⏯'
1952 ImageIndex = 75 1713 ImageIndex = 75
1953 OnClick = ToolButton2Click 1714 OnClick = ToolButton2Click
1954 end 1715 end
1955 object ToolButton4: TToolButton 1716 object ToolButton4: TToolButton
1956 Left = 228 1717 Left = 224
1957 Top = 0 1718 Top = 0
1958 Caption = '⏹️' 1719 Caption = '⏹️'
1959 ImageIndex = 73 1720 ImageIndex = 73
1960 OnClick = ToolButton4Click 1721 OnClick = ToolButton4Click
1961 end 1722 end
1962 object ExportGBButton: TToolButton 1723 object ExportGBButton: TToolButton
1963 Left = 292 1724 Left = 284
1964 Top = 0 1725 Top = 0
1965 AutoSize = True 1726 AutoSize = True
1966 Caption = 'Export .GB' 1727 Caption = 'Export .GB'
@@ -1975,21 +1736,21 @@ object frmTracker: TfrmTracker
1975 Style = tbsDivider 1736 Style = tbsDivider
1976 end 1737 end
1977 object ToolButton6: TToolButton 1738 object ToolButton6: TToolButton
1978 Left = 283 1739 Left = 279
1979 Height = 39 1740 Height = 39
1980 Top = 0 1741 Top = 0
1981 Caption = 'ToolButton6' 1742 Caption = 'ToolButton6'
1982 Style = tbsDivider 1743 Style = tbsDivider
1983 end 1744 end
1984 object ToolButton7: TToolButton 1745 object ToolButton7: TToolButton
1985 Left = 547 1746 Left = 539
1986 Height = 39 1747 Height = 39
1987 Top = 0 1748 Top = 0
1988 Caption = 'ToolButton7' 1749 Caption = 'ToolButton7'
1989 Style = tbsSeparator 1750 Style = tbsSeparator
1990 end 1751 end
1991 object OctaveSpinEdit: TSpinEdit 1752 object OctaveSpinEdit: TSpinEdit
1992 Left = 728 1753 Left = 708
1993 Height = 38 1754 Height = 38
1994 Top = 0 1755 Top = 0
1995 Width = 158 1756 Width = 158
@@ -1999,14 +1760,14 @@ object frmTracker: TfrmTracker
1999 TabOrder = 0 1760 TabOrder = 0
2000 end 1761 end
2001 object ToolButton9: TToolButton 1762 object ToolButton9: TToolButton
2002 Left = 637 1763 Left = 623
2003 Height = 39 1764 Height = 39
2004 Top = 0 1765 Top = 0
2005 Caption = 'ToolButton9' 1766 Caption = 'ToolButton9'
2006 Style = tbsSeparator 1767 Style = tbsSeparator
2007 end 1768 end
2008 object Label22: TLabel 1769 object Label22: TLabel
2009 Left = 651 1770 Left = 631
2010 Height = 30 1771 Height = 30
2011 Top = 0 1772 Top = 0
2012 Width = 77 1773 Width = 77
@@ -2015,7 +1776,7 @@ object frmTracker: TfrmTracker
2015 ParentFont = False 1776 ParentFont = False
2016 end 1777 end
2017 object Label23: TLabel 1778 object Label23: TLabel
2018 Left = 886 1779 Left = 866
2019 Height = 30 1780 Height = 30
2020 Top = 0 1781 Top = 0
2021 Width = 125 1782 Width = 125
@@ -2024,7 +1785,7 @@ object frmTracker: TfrmTracker
2024 ParentFont = False 1785 ParentFont = False
2025 end 1786 end
2026 object InstrumentComboBox: TComboBox 1787 object InstrumentComboBox: TComboBox
2027 Left = 1011 1788 Left = 991
2028 Height = 38 1789 Height = 38
2029 Top = 0 1790 Top = 0
2030 Width = 374 1791 Width = 374
@@ -2055,7 +1816,7 @@ object frmTracker: TfrmTracker
2055 Text = '(no instrument)' 1816 Text = '(no instrument)'
2056 end 1817 end
2057 object Label24: TLabel 1818 object Label24: TLabel
2058 Left = 1385 1819 Left = 1365
2059 Height = 30 1820 Height = 30
2060 Top = 0 1821 Top = 0
2061 Width = 64 1822 Width = 64
@@ -2064,7 +1825,7 @@ object frmTracker: TfrmTracker
2064 ParentFont = False 1825 ParentFont = False
2065 end 1826 end
2066 object StepSpinEdit: TSpinEdit 1827 object StepSpinEdit: TSpinEdit
2067 Left = 1449 1828 Left = 1429
2068 Height = 38 1829 Height = 38
2069 Top = 0 1830 Top = 0
2070 Width = 88 1831 Width = 88
@@ -2074,14 +1835,14 @@ object frmTracker: TfrmTracker
2074 TabOrder = 2 1835 TabOrder = 2
2075 end 1836 end
2076 object ToolButton3: TToolButton 1837 object ToolButton3: TToolButton
2077 Left = 129 1838 Left = 125
2078 Top = 0 1839 Top = 0
2079 Caption = '▶️' 1840 Caption = '▶️'
2080 ImageIndex = 74 1841 ImageIndex = 74
2081 OnClick = ToolButton3Click 1842 OnClick = ToolButton3Click
2082 end 1843 end
2083 object ExportGBSButton: TToolButton 1844 object ExportGBSButton: TToolButton
2084 Left = 414 1845 Left = 406
2085 Top = 0 1846 Top = 0
2086 Caption = 'Export .GBS' 1847 Caption = 'Export .GBS'
2087 ImageIndex = 77 1848 ImageIndex = 77
@@ -4788,8 +4549,8 @@ object frmTracker: TfrmTracker
4788 end 4549 end
4789 object InstrumentSaveDialog: TSaveDialog 4550 object InstrumentSaveDialog: TSaveDialog
4790 Filter = 'hUGETracker Instruments|*.ugi' 4551 Filter = 'hUGETracker Instruments|*.ugi'
4791 left = 632 4552 left = 600
4792 top = 193 4553 top = 177
4793 end 4554 end
4794 object OrderEditPopup: TPopupMenu 4555 object OrderEditPopup: TPopupMenu
4795 left = 376 4556 left = 376
@@ -5094,8 +4855,8 @@ object frmTracker: TfrmTracker
5094 end 4855 end
5095 object GBSSaveDialog: TSaveDialog 4856 object GBSSaveDialog: TSaveDialog
5096 Filter = 'Gameboy Soundtrack|*.gbs' 4857 Filter = 'Gameboy Soundtrack|*.gbs'
5097 left = 921 4858 left = 920
5098 top = 200 4859 top = 177
5099 end 4860 end
5100 object WaveSaveDialog: TSaveDialog 4861 object WaveSaveDialog: TSaveDialog
5101 Filter = 'hUGETracker Waves|*.ugw' 4862 Filter = 'hUGETracker Waves|*.ugw'
Modifiedtracker.pas +28−28
@@ -9,7 +9,7 @@ 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 ECProgressBar, HugeDatatypes, LCLType, BCTrackbarUpdown, RackCtls, Codegen, 12 HugeDatatypes, LCLType, RackCtls, Codegen,
13 SymParser; 13 SymParser;
14 14
15 type 15 type
@@ -17,7 +17,6 @@ type
17 17
18 TfrmTracker = class(TForm) 18 TfrmTracker = class(TForm)
19 Button1: TButton; 19 Button1: TButton;
20 ShiftClockSpinner: TECSpinPosition;
21 InstrumentExportButton: TButton; 20 InstrumentExportButton: TButton;
22 InstrumentImportButton: TButton; 21 InstrumentImportButton: TButton;
23 InstrumentComboBox: TComboBox; 22 InstrumentComboBox: TComboBox;
@@ -30,6 +29,12 @@ type
30 MenuItem24: TMenuItem; 29 MenuItem24: TMenuItem;
31 MenuItem8: TMenuItem; 30 MenuItem8: TMenuItem;
32 NoteHaltTimer: TTimer; 31 NoteHaltTimer: TTimer;
32 StartVolTrackbar: TTrackBar;
33 EnvChangeTrackbar: TTrackBar;
34 ShiftClockTrackbar: TTrackBar;
35 DivRatioTrackbar: TTrackBar;
36 LengthTrackbar: TTrackBar;
37 SweepSizeTrackbar: TTrackBar;
33 WaveSaveDialog: TSaveDialog; 38 WaveSaveDialog: TSaveDialog;
34 Label22: TLabel; 39 Label22: TLabel;
35 Label23: TLabel; 40 Label23: TLabel;
@@ -126,8 +131,6 @@ type
126 WaveVolumeCombobox: TComboBox; 131 WaveVolumeCombobox: TComboBox;
127 SweepDirectionCombobox: TComboBox; 132 SweepDirectionCombobox: TComboBox;
128 DutyCombobox: TComboBox; 133 DutyCombobox: TComboBox;
129 SweepSizeSpinner: TECSpinPosition;
130 LengthSpinner: TECSpinPosition;
131 SquareGroupBox: TGroupBox; 134 SquareGroupBox: TGroupBox;
132 WaveGroupBox: TGroupBox; 135 WaveGroupBox: TGroupBox;
133 NoiseGroupBox: TGroupBox; 136 NoiseGroupBox: TGroupBox;
@@ -170,9 +173,6 @@ type
170 CommentsTabSheet: TTabSheet; 173 CommentsTabSheet: TTabSheet;
171 RoutinesTabSheet: TTabSheet; 174 RoutinesTabSheet: TTabSheet;
172 StatusBar1: TStatusBar; 175 StatusBar1: TStatusBar;
173 StartVolSpinner: TECSpinPosition;
174 EnvChangeSpinner: TECSpinPosition;
175 DivRatioSpinner: TECSpinPosition;
176 TreeView1: TTreeView; 176 TreeView1: TTreeView;
177 TrackerGrid: TTrackerGrid; 177 TrackerGrid: TTrackerGrid;
178 procedure Button1Click(Sender: TObject); 178 procedure Button1Click(Sender: TObject);
@@ -573,7 +573,7 @@ end;
573 573
574 function TfrmTracker.PeekSymbol(Symbol: String): Integer; 574 function TfrmTracker.PeekSymbol(Symbol: String): Integer;
575 begin 575 begin
576 if SymbolTable = nil then exit; 576 if SymbolTable = nil then exit(0);
577 Result := speekb(SymbolTable.KeyData[Symbol]); 577 Result := speekb(SymbolTable.KeyData[Symbol]);
578 end; 578 end;
579 579
@@ -585,7 +585,7 @@ end;
585 585
586 function TfrmTracker.WordPeekSymbol(Symbol: String): Integer; 586 function TfrmTracker.WordPeekSymbol(Symbol: String): Integer;
587 begin 587 begin
588 if SymbolTable = nil then exit; 588 if SymbolTable = nil then exit(0);
589 Result := wordpeek(SymbolTable.KeyData[Symbol]); 589 Result := wordpeek(SymbolTable.KeyData[Symbol]);
590 end; 590 end;
591 591
@@ -670,7 +670,7 @@ begin
670 InstrumentNumberSpinner.Value := Instr; 670 InstrumentNumberSpinner.Value := Instr;
671 InstrumentNameEdit.Text := CI^.Name; 671 InstrumentNameEdit.Text := CI^.Name;
672 LengthEnabledCheckbox.Checked := CI^.LengthEnabled; 672 LengthEnabledCheckbox.Checked := CI^.LengthEnabled;
673 LengthSpinner.Position := CI^.Length; 673 LengthTrackbar.Position := CI^.Length;
674 674
675 case CI^.Type_ of 675 case CI^.Type_ of
676 Square: begin 676 Square: begin
@@ -687,12 +687,12 @@ begin
687 end; 687 end;
688 end; 688 end;
689 689
690 StartVolSpinner.Position := CI^.InitialVolume; 690 StartVolTrackbar.Position := CI^.InitialVolume;
691 case CI^.VolSweepDirection of 691 case CI^.VolSweepDirection of
692 Up: DirectionComboBox.Text := 'Up'; 692 Up: DirectionComboBox.Text := 'Up';
693 Down: DirectionComboBox.Text := 'Down'; 693 Down: DirectionComboBox.Text := 'Down';
694 end; 694 end;
695 EnvChangeSpinner.Position := CI^.VolSweepAmount; 695 EnvChangeTrackbar.Position := CI^.VolSweepAmount;
696 696
697 case CI^.Type_ of 697 case CI^.Type_ of
698 Square: begin 698 Square: begin
@@ -701,7 +701,7 @@ begin
701 Up: SweepDirectionCombobox.Text := 'Up'; 701 Up: SweepDirectionCombobox.Text := 'Up';
702 Down: SweepDirectionCombobox.Text := 'Down'; 702 Down: SweepDirectionCombobox.Text := 'Down';
703 end; 703 end;
704 SweepSizeSpinner.Position := CI^.SweepShift; 704 SweepSizeTrackbar.Position := CI^.SweepShift;
705 DutyCombobox.ItemIndex := CI^.Duty; 705 DutyCombobox.ItemIndex := CI^.Duty;
706 end; 706 end;
707 707
@@ -711,8 +711,8 @@ begin
711 end; 711 end;
712 712
713 Noise: begin 713 Noise: begin
714 ShiftClockSpinner.Position := CI^.ShiftClockFreq; 714 ShiftClockTrackbar.Position := CI^.ShiftClockFreq;
715 DivRatioSpinner.Position := CI^.DividingRatio; 715 DivRatioTrackbar.Position := CI^.DividingRatio;
716 SevenBitCounterCheckbox.Checked := CI^.CounterStep = Seven; 716 SevenBitCounterCheckbox.Checked := CI^.CounterStep = Seven;
717 end; 717 end;
718 end; 718 end;
@@ -725,7 +725,7 @@ begin
725 WaveGroupBox.Enabled := False; 725 WaveGroupBox.Enabled := False;
726 NoiseGroupBox.Enabled := False; 726 NoiseGroupBox.Enabled := False;
727 727
728 LengthSpinner.Max := 63; 728 LengthTrackbar.Max := 63;
729 end; 729 end;
730 730
731 procedure TfrmTracker.ChangeToWave; 731 procedure TfrmTracker.ChangeToWave;
@@ -735,7 +735,7 @@ begin
735 WaveGroupBox.Enabled := True; 735 WaveGroupBox.Enabled := True;
736 NoiseGroupBox.Enabled := False; 736 NoiseGroupBox.Enabled := False;
737 737
738 LengthSpinner.Max := 255; 738 LengthTrackbar.Max := 255;
739 end; 739 end;
740 740
741 procedure TfrmTracker.ChangeToNoise; 741 procedure TfrmTracker.ChangeToNoise;
@@ -745,7 +745,7 @@ begin
745 WaveGroupBox.Enabled := False; 745 WaveGroupBox.Enabled := False;
746 NoiseGroupBox.Enabled := True; 746 NoiseGroupBox.Enabled := True;
747 747
748 LengthSpinner.Max := 63; 748 LengthTrackbar.Max := 63;
749 end; 749 end;
750 750
751 procedure TfrmTracker.WavePaintboxPaint(Sender: TObject); 751 procedure TfrmTracker.WavePaintboxPaint(Sender: TObject);
@@ -794,7 +794,7 @@ end;
794 794
795 procedure TfrmTracker.StartVolSpinnerChange(Sender: TObject); 795 procedure TfrmTracker.StartVolSpinnerChange(Sender: TObject);
796 begin 796 begin
797 CurrentInstrument^.InitialVolume := Round(StartVolSpinner.Position); 797 CurrentInstrument^.InitialVolume := Round(StartVolTrackbar.Position);
798 end; 798 end;
799 799
800 procedure TfrmTracker.SweepDirectionComboboxChange(Sender: TObject); 800 procedure TfrmTracker.SweepDirectionComboboxChange(Sender: TObject);
@@ -807,7 +807,7 @@ end;
807 807
808 procedure TfrmTracker.SweepSizeSpinnerChange(Sender: TObject); 808 procedure TfrmTracker.SweepSizeSpinnerChange(Sender: TObject);
809 begin 809 begin
810 CurrentInstrument^.SweepShift := Round(SweepSizeSpinner.Position); 810 CurrentInstrument^.SweepShift := Round(SweepSizeTrackbar.Position);
811 end; 811 end;
812 812
813 procedure TfrmTracker.SweepTimeComboboxChange(Sender: TObject); 813 procedure TfrmTracker.SweepTimeComboboxChange(Sender: TObject);
@@ -841,11 +841,11 @@ end;
841 841
842 procedure TfrmTracker.RandomizeNoiseButtonClick(Sender: TObject); 842 procedure TfrmTracker.RandomizeNoiseButtonClick(Sender: TObject);
843 begin 843 begin
844 ShiftClockSpinner.Position := 0; 844 ShiftClockTrackbar.Position := 0;
845 DivRatioSpinner.Position := Random(Round(DivRatioSpinner.Max)); 845 DivRatioTrackbar.Position := Random(Round(DivRatioTrackbar.Max));
846 SevenBitCounterCheckbox.Checked := Random <= 0.5; 846 SevenBitCounterCheckbox.Checked := Random <= 0.5;
847 LengthEnabledCheckbox.Checked := Random <= 0.5; 847 LengthEnabledCheckbox.Checked := Random <= 0.5;
848 LengthSpinner.Position := Random(Round(LengthSpinner.Max)); 848 LengthTrackbar.Position := Random(Round(LengthTrackbar.Max));
849 849
850 PreviewInstrument(NotesToFreqs.KeyData[RandomRange(LOWEST_NOTE, HIGHEST_NOTE)], 850 PreviewInstrument(NotesToFreqs.KeyData[RandomRange(LOWEST_NOTE, HIGHEST_NOTE)],
851 InstrumentNumberSpinner.Value); 851 InstrumentNumberSpinner.Value);
@@ -1154,7 +1154,7 @@ end;
1154 1154
1155 procedure TfrmTracker.ShiftClockSpinnerChange(Sender: TObject); 1155 procedure TfrmTracker.ShiftClockSpinnerChange(Sender: TObject);
1156 begin 1156 begin
1157 CurrentInstrument^.ShiftClockFreq := Round(ShiftClockSpinner.Position); 1157 CurrentInstrument^.ShiftClockFreq := Round(ShiftClockTrackbar.Position);
1158 end; 1158 end;
1159 1159
1160 procedure TfrmTracker.StepSpinEditChange(Sender: TObject); 1160 procedure TfrmTracker.StepSpinEditChange(Sender: TObject);
@@ -1164,7 +1164,7 @@ end;
1164 1164
1165 procedure TfrmTracker.DivRatioSpinnerChange(Sender: TObject); 1165 procedure TfrmTracker.DivRatioSpinnerChange(Sender: TObject);
1166 begin 1166 begin
1167 CurrentInstrument^.DividingRatio := Round(DivRatioSpinner.Position); 1167 CurrentInstrument^.DividingRatio := Round(DivRatioTrackbar.Position);
1168 end; 1168 end;
1169 1169
1170 procedure TfrmTracker.DutyComboboxChange(Sender: TObject); 1170 procedure TfrmTracker.DutyComboboxChange(Sender: TObject);
@@ -1174,7 +1174,7 @@ end;
1174 1174
1175 procedure TfrmTracker.EnvChangeSpinnerChange(Sender: TObject); 1175 procedure TfrmTracker.EnvChangeSpinnerChange(Sender: TObject);
1176 begin 1176 begin
1177 CurrentInstrument^.VolSweepAmount := Round(EnvChangeSpinner.Position); 1177 CurrentInstrument^.VolSweepAmount := Round(EnvChangeTrackbar.Position);
1178 end; 1178 end;
1179 1179
1180 procedure TfrmTracker.EnvelopePaintboxPaint(Sender: TObject); 1180 procedure TfrmTracker.EnvelopePaintboxPaint(Sender: TObject);
@@ -1201,7 +1201,7 @@ end;
1201 1201
1202 procedure TfrmTracker.LengthSpinnerChange(Sender: TObject); 1202 procedure TfrmTracker.LengthSpinnerChange(Sender: TObject);
1203 begin 1203 begin
1204 CurrentInstrument^.Length := Round(LengthSpinner.Position); 1204 CurrentInstrument^.Length := Round(LengthTrackbar.Position);
1205 end; 1205 end;
1206 1206
1207 procedure TfrmTracker.DebugPlayNoteButtonClick(Sender: TObject); 1207 procedure TfrmTracker.DebugPlayNoteButtonClick(Sender: TObject);
@@ -1533,7 +1533,7 @@ end;
1533 1533
1534 procedure TfrmTracker.LengthEnabledCheckboxChange(Sender: TObject); 1534 procedure TfrmTracker.LengthEnabledCheckboxChange(Sender: TObject);
1535 begin 1535 begin
1536 LengthSpinner.Enabled := LengthEnabledCheckbox.Checked; 1536 LengthTrackbar.Enabled := LengthEnabledCheckbox.Checked;
1537 CurrentInstrument^.LengthEnabled := LengthEnabledCheckbox.Checked; 1537 CurrentInstrument^.LengthEnabled := LengthEnabledCheckbox.Checked;
1538 end; 1538 end;
1539 1539
Modifiedtrackergrid.pas +1−2
@@ -666,8 +666,7 @@ begin
666 if Key = VK_DELETE then 666 if Key = VK_DELETE then
667 Note := NO_NOTE 667 Note := NO_NOTE
668 else begin 668 else begin
669 Keybindings.TryGetData(Key, Temp); 669 if Keybindings.TryGetData(Key, Temp) then begin
670 if Temp <> -1 then begin
671 Note := Min(HIGHEST_NOTE, Temp+(SelectedOctave*12)); 670 Note := Min(HIGHEST_NOTE, Temp+(SelectedOctave*12));
672 Instrument := SelectedInstrument; 671 Instrument := SelectedInstrument;
673 672