Commit e34b8e1

Nick committed on
Change the wave rendering, some extra stuff
commit e34b8e18b0ed58820ac61d50264e0c2803521cdd parent 5073bb4
9 changed files +459−468
RenamedSampleSongs/FishNChips3.uge → SampleSongs/Jester - FishNChips3.uge +0−0
File metadata changed without textual changes.
RenamedSampleSongs/Funky Stars.uge → SampleSongs/Quazar - Funky Stars.uge +0−0
File metadata changed without textual changes.
RenamedSampleSongs/Funkabeer's Revenge2.uge → SampleSongs/Reed - Funkabeer's Revenge2.uge +0−0
File metadata changed without textual changes.
RenamedSampleSongs/Cognition.uge → SampleSongs/Unknown Artist - Cognition.uge +0−0
File metadata changed without textual changes.
Modifiedrendertowave.lfm +57−75
@@ -1,21 +1,20 @@
1 object frmRenderToWave: TfrmRenderToWave 1 object frmRenderToWave: TfrmRenderToWave
2 Left = 2038 2 Left = 2038
3 Height = 548 3 Height = 313
4 Top = 144 4 Top = 144
5 Width = 789 5 Width = 451
6 BorderStyle = bsSingle 6 BorderStyle = bsSingle
7 Caption = 'Render song' 7 Caption = 'Render song'
8 ClientHeight = 548 8 ClientHeight = 313
9 ClientWidth = 789 9 ClientWidth = 451
10 DesignTimePPI = 168
11 OnShow = FormShow 10 OnShow = FormShow
12 Position = poDefault 11 Position = poDefault
13 LCLVersion = '2.0.6.0' 12 LCLVersion = '2.0.6.0'
14 object RenderButton: TButton 13 object RenderButton: TButton
15 Left = 30 14 Left = 17
16 Height = 44 15 Height = 25
17 Top = 476 16 Top = 272
18 Width = 462 17 Width = 264
19 Caption = 'Render' 18 Caption = 'Render'
20 Enabled = False 19 Enabled = False
21 OnClick = RenderButtonClick 20 OnClick = RenderButtonClick
@@ -23,15 +22,15 @@ object frmRenderToWave: TfrmRenderToWave
23 TabOrder = 0 22 TabOrder = 0
24 end 23 end
25 object FileNameEdit1: TFileNameEdit 24 object FileNameEdit1: TFileNameEdit
26 Left = 126 25 Left = 72
27 Height = 38 26 Height = 23
28 Top = 14 27 Top = 8
29 Width = 434 28 Width = 362
30 OnAcceptFileName = FileNameEdit1AcceptFileName 29 OnAcceptFileName = FileNameEdit1AcceptFileName
31 Filter = 'Wave Files|*.wav' 30 Filter = 'Wave Files|*.wav|MP3 Files|*.mp3'
32 FilterIndex = 0 31 FilterIndex = 0
33 HideDirectories = False 32 HideDirectories = False
34 ButtonWidth = 40 33 ButtonWidth = 23
35 NumGlyphs = 1 34 NumGlyphs = 1
36 MaxLength = 0 35 MaxLength = 0
37 ParentFont = False 36 ParentFont = False
@@ -39,19 +38,19 @@ object frmRenderToWave: TfrmRenderToWave
39 OnChange = FileNameEdit1Change 38 OnChange = FileNameEdit1Change
40 end 39 end
41 object Label1: TLabel 40 object Label1: TLabel
42 Left = 14 41 Left = 8
43 Height = 30 42 Height = 15
44 Top = 28 43 Top = 16
45 Width = 83 44 Width = 48
46 Caption = 'Filename' 45 Caption = 'Filename'
47 ParentColor = False 46 ParentColor = False
48 ParentFont = False 47 ParentFont = False
49 end 48 end
50 object RadioGroup1: TRadioGroup 49 object RadioGroup1: TRadioGroup
51 Left = 14 50 Left = 8
52 Height = 102 51 Height = 58
53 Top = 70 52 Top = 40
54 Width = 338 53 Width = 193
55 AutoFill = True 54 AutoFill = True
56 Caption = 'Duration' 55 Caption = 'Duration'
57 ChildSizing.LeftRightSpacing = 6 56 ChildSizing.LeftRightSpacing = 6
@@ -61,8 +60,8 @@ object frmRenderToWave: TfrmRenderToWave
61 ChildSizing.ShrinkVertical = crsScaleChilds 60 ChildSizing.ShrinkVertical = crsScaleChilds
62 ChildSizing.Layout = cclLeftToRightThenTopToBottom 61 ChildSizing.Layout = cclLeftToRightThenTopToBottom
63 ChildSizing.ControlsPerLine = 2 62 ChildSizing.ControlsPerLine = 2
64 ClientHeight = 67 63 ClientHeight = 38
65 ClientWidth = 334 64 ClientWidth = 189
66 Columns = 2 65 Columns = 2
67 ItemIndex = 0 66 ItemIndex = 0
68 Items.Strings = ( 67 Items.Strings = (
@@ -74,27 +73,27 @@ object frmRenderToWave: TfrmRenderToWave
74 TabOrder = 2 73 TabOrder = 2
75 end 74 end
76 object Notebook1: TNotebook 75 object Notebook1: TNotebook
77 Left = 14 76 Left = 8
78 Height = 196 77 Height = 112
79 Top = 182 78 Top = 104
80 Width = 744 79 Width = 425
81 PageIndex = 0 80 PageIndex = 0
82 TabOrder = 3 81 TabOrder = 3
83 object Page1: TPage 82 object Page1: TPage
84 object Label2: TLabel 83 object Label2: TLabel
85 Left = 28 84 Left = 16
86 Height = 30 85 Height = 15
87 Top = 42 86 Top = 24
88 Width = 77 87 Width = 44
89 Caption = 'Seconds' 88 Caption = 'Seconds'
90 ParentColor = False 89 ParentColor = False
91 ParentFont = False 90 ParentFont = False
92 end 91 end
93 object SecondsSpinEdit: TSpinEdit 92 object SecondsSpinEdit: TSpinEdit
94 Left = 126 93 Left = 72
95 Height = 38 94 Height = 23
96 Top = 28 95 Top = 16
97 Width = 602 96 Width = 344
98 MaxValue = 0 97 MaxValue = 0
99 ParentFont = False 98 ParentFont = False
100 TabOrder = 0 99 TabOrder = 0
@@ -102,45 +101,45 @@ object frmRenderToWave: TfrmRenderToWave
102 end 101 end
103 object Page2: TPage 102 object Page2: TPage
104 object Label3: TLabel 103 object Label3: TLabel
105 Left = 28 104 Left = 16
106 Height = 15 105 Height = 15
107 Top = 28 106 Top = 16
108 Width = 129 107 Width = 129
109 Caption = 'Stop playing when order' 108 Caption = 'Stop playing when order'
110 ParentColor = False 109 ParentColor = False
111 ParentFont = False 110 ParentFont = False
112 end 111 end
113 object OrderSpinEdit: TSpinEdit 112 object OrderSpinEdit: TSpinEdit
114 Left = 280 113 Left = 160
115 Height = 23 114 Height = 23
116 Top = 14 115 Top = 8
117 Width = 434 116 Width = 248
118 MaxValue = 0 117 MaxValue = 0
119 ParentFont = False 118 ParentFont = False
120 TabOrder = 0 119 TabOrder = 0
121 end 120 end
122 object Label4: TLabel 121 object Label4: TLabel
123 Left = 28 122 Left = 16
124 Height = 15 123 Height = 15
125 Top = 84 124 Top = 48
126 Width = 92 125 Width = 92
127 Caption = 'has been reached' 126 Caption = 'has been reached'
128 ParentColor = False 127 ParentColor = False
129 ParentFont = False 128 ParentFont = False
130 end 129 end
131 object LoopTimesSpinEdit: TSpinEdit 130 object LoopTimesSpinEdit: TSpinEdit
132 Left = 280 131 Left = 160
133 Height = 23 132 Height = 23
134 Top = 70 133 Top = 40
135 Width = 434 134 Width = 248
136 MaxValue = 0 135 MaxValue = 0
137 ParentFont = False 136 ParentFont = False
138 TabOrder = 1 137 TabOrder = 1
139 end 138 end
140 object Label5: TLabel 139 object Label5: TLabel
141 Left = 28 140 Left = 16
142 Height = 15 141 Height = 15
143 Top = 140 142 Top = 80
144 Width = 29 143 Width = 29
145 Caption = 'times' 144 Caption = 'times'
146 ParentColor = False 145 ParentColor = False
@@ -149,39 +148,22 @@ object frmRenderToWave: TfrmRenderToWave
149 end 148 end
150 end 149 end
151 object ProgressBar1: TProgressBar 150 object ProgressBar1: TProgressBar
152 Left = 30 151 Left = 17
153 Height = 49 152 Height = 28
154 Top = 406 153 Top = 232
155 Width = 730 154 Width = 417
156 ParentFont = False 155 ParentFont = False
157 TabOrder = 4 156 TabOrder = 4
158 end 157 end
159 object ComboBox1: TComboBox
160 Left = 574
161 Height = 38
162 Top = 14
163 Width = 184
164 ItemHeight = 30
165 ItemIndex = 0
166 Items.Strings = (
167 'WAV'
168 'MP3'
169 )
170 OnChange = ComboBox1Change
171 ParentFont = False
172 Style = csDropDownList
173 TabOrder = 5
174 Text = 'WAV'
175 end
176 object CancelButton: TButton 158 object CancelButton: TButton
177 Left = 504 159 Left = 288
178 Height = 44 160 Height = 25
179 Top = 476 161 Top = 272
180 Width = 256 162 Width = 146
181 Caption = 'Cancel' 163 Caption = 'Cancel'
182 Enabled = False 164 Enabled = False
183 OnClick = CancelButtonClick 165 OnClick = CancelButtonClick
184 ParentFont = False 166 ParentFont = False
185 TabOrder = 6 167 TabOrder = 5
186 end 168 end
187 end 169 end
Modifiedrendertowave.pas +18−9
@@ -9,6 +9,8 @@ uses
9 ExtCtrls, Spin, ComCtrls, constants, process; 9 ExtCtrls, Spin, ComCtrls, constants, process;
10 10
11 type 11 type
12 TRenderFormat = (rfWave, rfMP3);
13
12 { EHaltingProblem } 14 { EHaltingProblem }
13 15
14 EHaltingProblem = class(Exception); 16 EHaltingProblem = class(Exception);
@@ -18,7 +20,6 @@ type
18 TfrmRenderToWave = class(TForm) 20 TfrmRenderToWave = class(TForm)
19 RenderButton: TButton; 21 RenderButton: TButton;
20 CancelButton: TButton; 22 CancelButton: TButton;
21 ComboBox1: TComboBox;
22 FileNameEdit1: TFileNameEdit; 23 FileNameEdit1: TFileNameEdit;
23 Label1: TLabel; 24 Label1: TLabel;
24 Label2: TLabel; 25 Label2: TLabel;
@@ -48,7 +49,7 @@ type
48 49
49 procedure UpdateButtonEnabledStates; 50 procedure UpdateButtonEnabledStates;
50 51
51 procedure ExportWaveToFile(Filename: String); overload; 52 procedure ExportWaveToFile(Filename: String; Format: TRenderFormat);
52 53
53 procedure RenderSeconds(Seconds: Integer); 54 procedure RenderSeconds(Seconds: Integer);
54 procedure RenderLoops(TargetOrder: Integer; Loops: Integer); 55 procedure RenderLoops(TargetOrder: Integer; Loops: Integer);
@@ -74,14 +75,22 @@ begin
74 end; 75 end;
75 76
76 procedure TfrmRenderToWave.RenderButtonClick(Sender: TObject); 77 procedure TfrmRenderToWave.RenderButtonClick(Sender: TObject);
78 var
79 RF: TRenderFormat;
77 begin 80 begin
78 ProgressBar1.Position := 0; 81 ProgressBar1.Position := 0;
79 Rendering := True; 82 Rendering := True;
80 CancelRequested := False; 83 CancelRequested := False;
81 UpdateButtonEnabledStates; 84 UpdateButtonEnabledStates;
82 85
86 case LowerCase(ExtractFileExt(FileNameEdit1.FileName)) of
87 '.wav': RF := rfWave;
88 '.mp3': RF := rfMP3;
89 else RF := rfWave;
90 end;
91
83 try 92 try
84 ExportWaveToFile(FileNameEdit1.FileName); 93 ExportWaveToFile(FileNameEdit1.FileName, RF);
85 except 94 except
86 on E: Exception do begin 95 on E: Exception do begin
87 MessageDlg('Error!', 'Couldn''t write ' + FileNameEdit1.FileName + '!' + LineEnding + 96 MessageDlg('Error!', 'Couldn''t write ' + FileNameEdit1.FileName + '!' + LineEnding +
@@ -103,10 +112,10 @@ end;
103 112
104 procedure TfrmRenderToWave.ComboBox1Change(Sender: TObject); 113 procedure TfrmRenderToWave.ComboBox1Change(Sender: TObject);
105 begin 114 begin
106 case ComboBox1.ItemIndex of 115 {case ComboBox1.ItemIndex of
107 0: FileNameEdit1.Filter := 'Wave Files|*.wav'; 116 0: FileNameEdit1.Filter := 'Wave Files|*.wav';
108 1: FileNameEdit1.Filter := 'MP3 Files|*.mp3'; 117 1: FileNameEdit1.Filter := 'MP3 Files|*.mp3';
109 end; 118 end;}
110 end; 119 end;
111 120
112 procedure TfrmRenderToWave.FileNameEdit1Change(Sender: TObject); 121 procedure TfrmRenderToWave.FileNameEdit1Change(Sender: TObject);
@@ -135,7 +144,7 @@ begin
135 CancelButton.Enabled := Rendering and not CancelRequested; 144 CancelButton.Enabled := Rendering and not CancelRequested;
136 end; 145 end;
137 146
138 procedure TfrmRenderToWave.ExportWaveToFile(Filename: String); 147 procedure TfrmRenderToWave.ExportWaveToFile(Filename: String; Format: TRenderFormat);
139 var 148 var
140 OutStream: TStream; 149 OutStream: TStream;
141 Proc: TProcess; 150 Proc: TProcess;
@@ -150,7 +159,7 @@ begin
150 load('hUGEDriver/preview.gb'); 159 load('hUGEDriver/preview.gb');
151 chdir('hUGEDriver'); 160 chdir('hUGEDriver');
152 161
153 if ComboBox1.ItemIndex = 0 then begin 162 if format = rfWave then begin
154 OutStream := TFileStream.Create(Filename, fmCreate); 163 OutStream := TFileStream.Create(Filename, fmCreate);
155 end 164 end
156 else begin 165 else begin
@@ -183,14 +192,14 @@ begin
183 Chdir('..'); 192 Chdir('..');
184 193
185 try 194 try
186 if ComboBox1.ItemIndex = 1 then begin 195 if Format = rfMP3 then begin
187 OutStream.Seek(0, soFromBeginning); 196 OutStream.Seek(0, soFromBeginning);
188 Proc.Input.CopyFrom(OutStream, OutStream.Size); 197 Proc.Input.CopyFrom(OutStream, OutStream.Size);
189 Proc.CloseInput; 198 Proc.CloseInput;
190 Proc.WaitOnExit; 199 Proc.WaitOnExit;
191 end; 200 end;
192 finally 201 finally
193 if ComboBox1.ItemIndex = 1 then Proc.Free; 202 if Format = rfMP3 then Proc.Free;
194 OutStream.Free 203 OutStream.Free
195 end; 204 end;
196 end; 205 end;
Modifiedtracker.lfm +382−384
@@ -1,12 +1,11 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 3817 2 Left = 1447
3 Height = 1250 3 Height = 714
4 Top = 380 4 Top = 238
5 Width = 2067 5 Width = 1181
6 Caption = 'hUGETracker' 6 Caption = 'hUGETracker'
7 ClientHeight = 1216 7 ClientHeight = 694
8 ClientWidth = 2067 8 ClientWidth = 1181
9 DesignTimePPI = 168
10 KeyPreview = True 9 KeyPreview = True
11 Menu = MainMenu1 10 Menu = MainMenu1
12 OnClose = FormClose 11 OnClose = FormClose
@@ -20,9 +19,9 @@ object frmTracker: TfrmTracker
20 LCLVersion = '2.0.6.0' 19 LCLVersion = '2.0.6.0'
21 object TreeView1: TTreeView 20 object TreeView1: TTreeView
22 Left = 0 21 Left = 0
23 Height = 820 22 Height = 468
24 Top = 353 23 Top = 203
25 Width = 338 24 Width = 193
26 Align = alLeft 25 Align = alLeft
27 ParentFont = False 26 ParentFont = False
28 ReadOnly = True 27 ReadOnly = True
@@ -37,27 +36,27 @@ object frmTracker: TfrmTracker
37 } 36 }
38 end 37 end
39 object Splitter1: TSplitter 38 object Splitter1: TSplitter
40 Left = 338 39 Left = 193
41 Height = 820 40 Height = 468
42 Top = 353 41 Top = 203
43 Width = 9 42 Width = 5
44 end 43 end
45 object Panel1: TPanel 44 object Panel1: TPanel
46 Left = 347 45 Left = 198
47 Height = 820 46 Height = 468
48 Top = 353 47 Top = 203
49 Width = 1720 48 Width = 983
50 Align = alClient 49 Align = alClient
51 BevelOuter = bvNone 50 BevelOuter = bvNone
52 ClientHeight = 820 51 ClientHeight = 468
53 ClientWidth = 1720 52 ClientWidth = 983
54 ParentFont = False 53 ParentFont = False
55 TabOrder = 2 54 TabOrder = 2
56 object PageControl1: TPageControl 55 object PageControl1: TPageControl
57 Left = 0 56 Left = 0
58 Height = 820 57 Height = 468
59 Top = 0 58 Top = 0
60 Width = 1720 59 Width = 983
61 ActivePage = PatternTabSheet 60 ActivePage = PatternTabSheet
62 Align = alClient 61 Align = alClient
63 ParentFont = False 62 ParentFont = False
@@ -69,68 +68,68 @@ object frmTracker: TfrmTracker
69 ClientWidth = 975 68 ClientWidth = 975
70 ParentFont = False 69 ParentFont = False
71 object SongInformationGroupbox: TGroupBox 70 object SongInformationGroupbox: TGroupBox
72 Left = 14 71 Left = 8
73 Height = 238 72 Height = 136
74 Top = 14 73 Top = 8
75 Width = 534 74 Width = 305
76 Caption = 'Song information' 75 Caption = 'Song information'
77 ClientHeight = 203 76 ClientHeight = 116
78 ClientWidth = 530 77 ClientWidth = 301
79 ParentFont = False 78 ParentFont = False
80 TabOrder = 0 79 TabOrder = 0
81 object Label15: TLabel 80 object Label15: TLabel
82 Left = 14 81 Left = 8
83 Height = 15 82 Height = 15
84 Top = 28 83 Top = 16
85 Width = 27 84 Width = 27
86 Caption = 'Song' 85 Caption = 'Song'
87 ParentColor = False 86 ParentColor = False
88 ParentFont = False 87 ParentFont = False
89 end 88 end
90 object Label16: TLabel 89 object Label16: TLabel
91 Left = 12 90 Left = 7
92 Height = 15 91 Height = 15
93 Top = 84 92 Top = 48
94 Width = 28 93 Width = 28
95 Caption = 'Artist' 94 Caption = 'Artist'
96 ParentColor = False 95 ParentColor = False
97 ParentFont = False 96 ParentFont = False
98 end 97 end
99 object SongEdit: TEdit 98 object SongEdit: TEdit
100 Left = 98 99 Left = 56
101 Height = 23 100 Height = 23
102 Hint = 'The name of your composition' 101 Hint = 'The name of your composition'
103 Top = 14 102 Top = 8
104 Width = 378 103 Width = 216
105 OnChange = SongEditChange 104 OnChange = SongEditChange
106 ParentFont = False 105 ParentFont = False
107 TabOrder = 0 106 TabOrder = 0
108 end 107 end
109 object ArtistEdit: TEdit 108 object ArtistEdit: TEdit
110 Left = 98 109 Left = 56
111 Height = 23 110 Height = 23
112 Hint = 'Your name or handle' 111 Hint = 'Your name or handle'
113 Top = 70 112 Top = 40
114 Width = 378 113 Width = 216
115 OnChange = ArtistEditChange 114 OnChange = ArtistEditChange
116 ParentFont = False 115 ParentFont = False
117 TabOrder = 1 116 TabOrder = 1
118 end 117 end
119 object Label21: TLabel 118 object Label21: TLabel
120 Left = 14 119 Left = 8
121 Height = 15 120 Height = 15
122 Top = 136 121 Top = 78
123 Width = 114 122 Width = 114
124 Caption = 'Tempo (ticks per row)' 123 Caption = 'Tempo (ticks per row)'
125 ParentColor = False 124 ParentColor = False
126 ParentFont = False 125 ParentFont = False
127 end 126 end
128 object TicksPerRowSpinEdit: TSpinEdit 127 object TicksPerRowSpinEdit: TSpinEdit
129 Left = 233 128 Left = 133
130 Height = 23 129 Height = 23
131 Hint = 'How many ticks should happen before the row changes. Higher means slower' 130 Hint = 'How many ticks should happen before the row changes. Higher means slower'
132 Top = 128 131 Top = 73
133 Width = 88 132 Width = 50
134 MaxValue = 20 133 MaxValue = 20
135 MinValue = 1 134 MinValue = 1
136 OnChange = TicksPerRowSpinEditChange 135 OnChange = TicksPerRowSpinEditChange
@@ -142,25 +141,25 @@ object frmTracker: TfrmTracker
142 end 141 end
143 object PatternTabSheet: TTabSheet 142 object PatternTabSheet: TTabSheet
144 Caption = 'Patterns' 143 Caption = 'Patterns'
145 ClientHeight = 777 144 ClientHeight = 440
146 ClientWidth = 1712 145 ClientWidth = 975
147 ParentFont = False 146 ParentFont = False
148 object Panel3: TPanel 147 object Panel3: TPanel
149 Left = 392 148 Left = 224
150 Height = 777 149 Height = 440
151 Top = 0 150 Top = 0
152 Width = 1320 151 Width = 751
153 Align = alClient 152 Align = alClient
154 ClientHeight = 777 153 ClientHeight = 440
155 ClientWidth = 1320 154 ClientWidth = 751
156 ParentFont = False 155 ParentFont = False
157 TabOrder = 0 156 TabOrder = 0
158 object HeaderControl1: THeaderControl 157 object HeaderControl1: THeaderControl
159 Left = 1 158 Left = 1
160 Height = 52 159 Height = 30
161 Hint = 'Left click to mute, right click to solo' 160 Hint = 'Left click to mute, right click to solo'
162 Top = 1 161 Top = 1
163 Width = 1318 162 Width = 749
164 DragReorder = False 163 DragReorder = False
165 Images = ImageList2 164 Images = ImageList2
166 Sections = < 165 Sections = <
@@ -168,28 +167,28 @@ object frmTracker: TfrmTracker
168 Alignment = taCenter 167 Alignment = taCenter
169 ImageIndex = 1 168 ImageIndex = 1
170 Text = 'Duty 1' 169 Text = 'Duty 1'
171 Width = 233 170 Width = 133
172 Visible = True 171 Visible = True
173 end 172 end
174 item 173 item
175 Alignment = taCenter 174 Alignment = taCenter
176 ImageIndex = 1 175 ImageIndex = 1
177 Text = 'Duty 2' 176 Text = 'Duty 2'
178 Width = 233 177 Width = 133
179 Visible = True 178 Visible = True
180 end 179 end
181 item 180 item
182 Alignment = taCenter 181 Alignment = taCenter
183 ImageIndex = 1 182 ImageIndex = 1
184 Text = 'Wave' 183 Text = 'Wave'
185 Width = 233 184 Width = 133
186 Visible = True 185 Visible = True
187 end 186 end
188 item 187 item
189 Alignment = taCenter 188 Alignment = taCenter
190 ImageIndex = 1 189 ImageIndex = 1
191 Text = 'Noise' 190 Text = 'Noise'
192 Width = 233 191 Width = 133
193 Visible = True 192 Visible = True
194 end> 193 end>
195 OnSectionClick = HeaderControl1SectionClick 194 OnSectionClick = HeaderControl1SectionClick
@@ -200,9 +199,9 @@ object frmTracker: TfrmTracker
200 end 199 end
201 object ScrollBox1: TScrollBox 200 object ScrollBox1: TScrollBox
202 Left = 1 201 Left = 1
203 Height = 723 202 Height = 408
204 Top = 53 203 Top = 31
205 Width = 1318 204 Width = 749
206 HorzScrollBar.Increment = 1 205 HorzScrollBar.Increment = 1
207 HorzScrollBar.Page = 1 206 HorzScrollBar.Page = 1
208 HorzScrollBar.Smooth = True 207 HorzScrollBar.Smooth = True
@@ -219,43 +218,43 @@ object frmTracker: TfrmTracker
219 end 218 end
220 object OrderEditStringGrid: TStringGrid 219 object OrderEditStringGrid: TStringGrid
221 Left = 0 220 Left = 0
222 Height = 777 221 Height = 440
223 Top = 0 222 Top = 0
224 Width = 392 223 Width = 224
225 Align = alLeft 224 Align = alLeft
226 AutoEdit = False 225 AutoEdit = False
227 AutoFillColumns = True 226 AutoFillColumns = True
228 Columns = < 227 Columns = <
229 item 228 item
230 Alignment = taCenter 229 Alignment = taCenter
231 MinSize = 58 230 MinSize = 33
232 MaxSize = 58 231 MaxSize = 33
233 Title.Caption = 'Dty1' 232 Title.Caption = 'Dty1'
234 Width = 61 233 Width = 34
235 end 234 end
236 item 235 item
237 Alignment = taCenter 236 Alignment = taCenter
238 MinSize = 58 237 MinSize = 33
239 MaxSize = 58 238 MaxSize = 33
240 Title.Caption = 'Dty2' 239 Title.Caption = 'Dty2'
241 Width = 61 240 Width = 34
242 end 241 end
243 item 242 item
244 Alignment = taCenter 243 Alignment = taCenter
245 MinSize = 58 244 MinSize = 33
246 MaxSize = 58 245 MaxSize = 33
247 Title.Caption = 'Wav' 246 Title.Caption = 'Wav'
248 Width = 61 247 Width = 34
249 end 248 end
250 item 249 item
251 Alignment = taCenter 250 Alignment = taCenter
252 MinSize = 58 251 MinSize = 33
253 MaxSize = 58 252 MaxSize = 33
254 Title.Caption = 'Nse' 253 Title.Caption = 'Nse'
255 Width = 63 254 Width = 37
256 end> 255 end>
257 DefaultColWidth = 30 256 DefaultColWidth = 17
258 DefaultRowHeight = 37 257 DefaultRowHeight = 21
259 ExtendedSelect = False 258 ExtendedSelect = False
260 Options = [goFixedVertLine, goFixedHorzLine, goRangeSelect, goRowMoving, goEditing, goAutoAddRows, goTabs, goSmoothScroll, goFixedRowNumbering, goRowHighlight] 259 Options = [goFixedVertLine, goFixedHorzLine, goRangeSelect, goRowMoving, goEditing, goAutoAddRows, goTabs, goSmoothScroll, goFixedRowNumbering, goRowHighlight]
261 ParentFont = False 260 ParentFont = False
@@ -274,17 +273,17 @@ object frmTracker: TfrmTracker
274 OnEditingDone = OrderEditStringGridEditingDone 273 OnEditingDone = OrderEditStringGridEditingDone
275 OnKeyDown = OrderEditStringGridKeyDown 274 OnKeyDown = OrderEditStringGridKeyDown
276 ColWidths = ( 275 ColWidths = (
277 112 276 64
278 61 277 34
279 61 278 34
280 61 279 34
281 63 280 37
282 ) 281 )
283 end 282 end
284 end 283 end
285 object InstrumentTabSheet: TTabSheet 284 object InstrumentTabSheet: TTabSheet
286 Caption = 'Instruments' 285 Caption = 'Instruments'
287 ClientHeight = 435 286 ClientHeight = 440
288 ClientWidth = 975 287 ClientWidth = 975
289 ParentFont = False 288 ParentFont = False
290 object PaintBox1: TPaintBox 289 object PaintBox1: TPaintBox
@@ -292,7 +291,7 @@ object frmTracker: TfrmTracker
292 AnchorSideTop.Side = asrBottom 291 AnchorSideTop.Side = asrBottom
293 AnchorSideBottom.Side = asrBottom 292 AnchorSideBottom.Side = asrBottom
294 Left = 0 293 Left = 0
295 Height = 30 294 Height = 35
296 Hint = 'Preview of how the resulting waveform will look with envelope applied' 295 Hint = 'Preview of how the resulting waveform will look with envelope applied'
297 Top = 405 296 Top = 405
298 Width = 975 297 Width = 975
@@ -343,25 +342,25 @@ object frmTracker: TfrmTracker
343 TabOrder = 0 342 TabOrder = 0
344 object InstrumentGroupBox: TGroupBox 343 object InstrumentGroupBox: TGroupBox
345 Left = 7 344 Left = 7
346 Height = 364 345 Height = 208
347 Top = 7 346 Top = 7
348 Width = 474 347 Width = 271
349 Anchors = [] 348 Anchors = []
350 BorderSpacing.Left = 12 349 BorderSpacing.Left = 7
351 BorderSpacing.Top = 12 350 BorderSpacing.Top = 7
352 BorderSpacing.Right = 12 351 BorderSpacing.Right = 7
353 BorderSpacing.Bottom = 12 352 BorderSpacing.Bottom = 7
354 Caption = 'Instrument' 353 Caption = 'Instrument'
355 ClientHeight = 329 354 ClientHeight = 188
356 ClientWidth = 470 355 ClientWidth = 267
357 ParentFont = False 356 ParentFont = False
358 TabOrder = 0 357 TabOrder = 0
359 object InstrumentNumberSpinner: TSpinEdit 358 object InstrumentNumberSpinner: TSpinEdit
360 Left = 140 359 Left = 80
361 Height = 23 360 Height = 23
362 Hint = 'What instrument to edit' 361 Hint = 'What instrument to edit'
363 Top = 2 362 Top = 1
364 Width = 308 363 Width = 176
365 MaxValue = 15 364 MaxValue = 15
366 MinValue = 1 365 MinValue = 1
367 OnChange = InstrumentNumberSpinnerChange 366 OnChange = InstrumentNumberSpinnerChange
@@ -370,49 +369,49 @@ object frmTracker: TfrmTracker
370 Value = 1 369 Value = 1
371 end 370 end
372 object Label1: TLabel 371 object Label1: TLabel
373 Left = 14 372 Left = 8
374 Height = 15 373 Height = 15
375 Top = 14 374 Top = 8
376 Width = 58 375 Width = 58
377 Caption = 'Instrument' 376 Caption = 'Instrument'
378 ParentColor = False 377 ParentColor = False
379 ParentFont = False 378 ParentFont = False
380 end 379 end
381 object Label2: TLabel 380 object Label2: TLabel
382 Left = 14 381 Left = 8
383 Height = 15 382 Height = 15
384 Top = 60 383 Top = 34
385 Width = 32 384 Width = 32
386 Caption = 'Name' 385 Caption = 'Name'
387 ParentColor = False 386 ParentColor = False
388 ParentFont = False 387 ParentFont = False
389 end 388 end
390 object InstrumentNameEdit: TEdit 389 object InstrumentNameEdit: TEdit
391 Left = 140 390 Left = 80
392 Height = 23 391 Height = 23
393 Hint = 'The name of the instrument' 392 Hint = 'The name of the instrument'
394 Top = 46 393 Top = 26
395 Width = 308 394 Width = 176
396 OnChange = InstrumentNameEditChange 395 OnChange = InstrumentNameEditChange
397 ParentFont = False 396 ParentFont = False
398 TabOrder = 1 397 TabOrder = 1
399 end 398 end
400 object Label3: TLabel 399 object Label3: TLabel
401 Left = 14 400 Left = 8
402 Height = 15 401 Height = 15
403 Top = 107 402 Top = 61
404 Width = 24 403 Width = 24
405 Caption = 'Type' 404 Caption = 'Type'
406 ParentColor = False 405 ParentColor = False
407 ParentFont = False 406 ParentFont = False
408 end 407 end
409 object InstrumentTypeCombobox: TComboBox 408 object InstrumentTypeCombobox: TComboBox
410 Left = 140 409 Left = 80
411 Height = 38 410 Height = 23
412 Hint = 'What type of channel this instrument will be played on' 411 Hint = 'What type of channel this instrument will be played on'
413 Top = 93 412 Top = 53
414 Width = 308 413 Width = 176
415 ItemHeight = 30 414 ItemHeight = 15
416 ItemIndex = 0 415 ItemIndex = 0
417 Items.Strings = ( 416 Items.Strings = (
418 'Square' 417 'Square'
@@ -426,10 +425,10 @@ object frmTracker: TfrmTracker
426 Text = 'Square' 425 Text = 'Square'
427 end 426 end
428 object LengthEnabledCheckbox: TCheckBox 427 object LengthEnabledCheckbox: TCheckBox
429 Left = 14 428 Left = 8
430 Height = 19 429 Height = 19
431 Hint = 'Cut the sound after a certain length of time' 430 Hint = 'Cut the sound after a certain length of time'
432 Top = 147 431 Top = 84
433 Width = 57 432 Width = 57
434 Caption = 'Length' 433 Caption = 'Length'
435 OnChange = LengthEnabledCheckboxChange 434 OnChange = LengthEnabledCheckboxChange
@@ -437,40 +436,40 @@ object frmTracker: TfrmTracker
437 TabOrder = 3 436 TabOrder = 3
438 end 437 end
439 object InstrumentImportButton: TButton 438 object InstrumentImportButton: TButton
440 Left = 24 439 Left = 14
441 Height = 44 440 Height = 25
442 Top = 264 441 Top = 151
443 Width = 203 442 Width = 116
444 Caption = 'Import' 443 Caption = 'Import'
445 OnClick = InstrumentImportButtonClick 444 OnClick = InstrumentImportButtonClick
446 ParentFont = False 445 ParentFont = False
447 TabOrder = 4 446 TabOrder = 4
448 end 447 end
449 object InstrumentExportButton: TButton 448 object InstrumentExportButton: TButton
450 Left = 240 449 Left = 137
451 Height = 44 450 Height = 25
452 Top = 264 451 Top = 151
453 Width = 203 452 Width = 116
454 Caption = 'Export' 453 Caption = 'Export'
455 OnClick = InstrumentExportButtonClick 454 OnClick = InstrumentExportButtonClick
456 ParentFont = False 455 ParentFont = False
457 TabOrder = 5 456 TabOrder = 5
458 end 457 end
459 object Button1: TButton 458 object Button1: TButton
460 Left = 24 459 Left = 14
461 Height = 44 460 Height = 25
462 Top = 208 461 Top = 119
463 Width = 424 462 Width = 242
464 Caption = 'Test C-5' 463 Caption = 'Test C-5'
465 OnClick = Button1Click 464 OnClick = Button1Click
466 ParentFont = False 465 ParentFont = False
467 TabOrder = 6 466 TabOrder = 6
468 end 467 end
469 object LengthTrackbar: TTrackBar 468 object LengthTrackbar: TTrackBar
470 Left = 136 469 Left = 78
471 Height = 44 470 Height = 25
472 Top = 144 471 Top = 82
473 Width = 312 472 Width = 178
474 Max = 63 473 Max = 63
475 OnChange = LengthSpinnerChange 474 OnChange = LengthSpinnerChange
476 Position = 0 475 Position = 0
@@ -480,44 +479,44 @@ object frmTracker: TfrmTracker
480 end 479 end
481 object EnvelopeGroupBox: TGroupBox 480 object EnvelopeGroupBox: TGroupBox
482 Left = 292 481 Left = 292
483 Height = 238 482 Height = 136
484 Top = 7 483 Top = 7
485 Width = 1153 484 Width = 659
486 Anchors = [] 485 Anchors = []
487 BorderSpacing.Left = 12 486 BorderSpacing.Left = 7
488 BorderSpacing.Top = 12 487 BorderSpacing.Top = 7
489 BorderSpacing.Right = 12 488 BorderSpacing.Right = 7
490 BorderSpacing.Bottom = 12 489 BorderSpacing.Bottom = 7
491 Caption = 'Envelope' 490 Caption = 'Envelope'
492 ClientHeight = 203 491 ClientHeight = 116
493 ClientWidth = 1149 492 ClientWidth = 655
494 ParentFont = False 493 ParentFont = False
495 TabOrder = 1 494 TabOrder = 1
496 object Label4: TLabel 495 object Label4: TLabel
497 Left = 14 496 Left = 8
498 Height = 15 497 Height = 15
499 Top = 16 498 Top = 9
500 Width = 46 499 Width = 46
501 Caption = 'Start vol.' 500 Caption = 'Start vol.'
502 ParentColor = False 501 ParentColor = False
503 ParentFont = False 502 ParentFont = False
504 end 503 end
505 object Label5: TLabel 504 object Label5: TLabel
506 Left = 14 505 Left = 8
507 Height = 15 506 Height = 15
508 Top = 84 507 Top = 48
509 Width = 48 508 Width = 48
510 Caption = 'Direction' 509 Caption = 'Direction'
511 ParentColor = False 510 ParentColor = False
512 ParentFont = False 511 ParentFont = False
513 end 512 end
514 object DirectionComboBox: TComboBox 513 object DirectionComboBox: TComboBox
515 Left = 144 514 Left = 82
516 Height = 38 515 Height = 23
517 Hint = 'Whether to fade the sound in or out' 516 Hint = 'Whether to fade the sound in or out'
518 Top = 80 517 Top = 46
519 Width = 346 518 Width = 198
520 ItemHeight = 30 519 ItemHeight = 15
521 ItemIndex = 1 520 ItemIndex = 1
522 Items.Strings = ( 521 Items.Strings = (
523 'Up' 522 'Up'
@@ -530,22 +529,22 @@ object frmTracker: TfrmTracker
530 Text = 'Down' 529 Text = 'Down'
531 end 530 end
532 object Label6: TLabel 531 object Label6: TLabel
533 Left = 14 532 Left = 8
534 Height = 15 533 Height = 15
535 Top = 150 534 Top = 86
536 Width = 41 535 Width = 41
537 Caption = 'Change' 536 Caption = 'Change'
538 ParentColor = False 537 ParentColor = False
539 ParentFont = False 538 ParentFont = False
540 end 539 end
541 object Panel5: TPanel 540 object Panel5: TPanel
542 Left = 525 541 Left = 300
543 Height = 184 542 Height = 105
544 Top = 0 543 Top = 0
545 Width = 606 544 Width = 346
546 BevelOuter = bvLowered 545 BevelOuter = bvLowered
547 ClientHeight = 184 546 ClientHeight = 105
548 ClientWidth = 606 547 ClientWidth = 346
549 ParentFont = False 548 ParentFont = False
550 TabOrder = 1 549 TabOrder = 1
551 object EnvelopePaintbox: TPaintBox 550 object EnvelopePaintbox: TPaintBox
@@ -560,10 +559,10 @@ object frmTracker: TfrmTracker
560 end 559 end
561 end 560 end
562 object StartVolTrackbar: TTrackBar 561 object StartVolTrackbar: TTrackBar
563 Left = 144 562 Left = 82
564 Height = 44 563 Height = 25
565 Top = 14 564 Top = 8
566 Width = 343 565 Width = 196
567 Max = 15 566 Max = 15
568 OnChange = StartVolSpinnerChange 567 OnChange = StartVolSpinnerChange
569 Position = 0 568 Position = 0
@@ -571,10 +570,10 @@ object frmTracker: TfrmTracker
571 TabOrder = 2 570 TabOrder = 2
572 end 571 end
573 object EnvChangeTrackbar: TTrackBar 572 object EnvChangeTrackbar: TTrackBar
574 Left = 144 573 Left = 82
575 Height = 44 574 Height = 25
576 Top = 144 575 Top = 82
577 Width = 343 576 Width = 196
578 Max = 7 577 Max = 7
579 OnChange = EnvChangeSpinnerChange 578 OnChange = EnvChangeSpinnerChange
580 Position = 0 579 Position = 0
@@ -584,35 +583,35 @@ object frmTracker: TfrmTracker
584 end 583 end
585 object SquareGroupBox: TGroupBox 584 object SquareGroupBox: TGroupBox
586 Left = 7 585 Left = 7
587 Height = 296 586 Height = 169
588 Top = 229 587 Top = 229
589 Width = 558 588 Width = 319
590 Anchors = [] 589 Anchors = []
591 BorderSpacing.Left = 12 590 BorderSpacing.Left = 7
592 BorderSpacing.Top = 12 591 BorderSpacing.Top = 7
593 BorderSpacing.Right = 12 592 BorderSpacing.Right = 7
594 BorderSpacing.Bottom = 12 593 BorderSpacing.Bottom = 7
595 Caption = 'Square' 594 Caption = 'Square'
596 ClientHeight = 261 595 ClientHeight = 149
597 ClientWidth = 554 596 ClientWidth = 315
598 ParentFont = False 597 ParentFont = False
599 TabOrder = 2 598 TabOrder = 2
600 object Label7: TLabel 599 object Label7: TLabel
601 Left = 14 600 Left = 8
602 Height = 15 601 Height = 15
603 Top = 28 602 Top = 16
604 Width = 61 603 Width = 61
605 Caption = 'Sweep time' 604 Caption = 'Sweep time'
606 ParentColor = False 605 ParentColor = False
607 ParentFont = False 606 ParentFont = False
608 end 607 end
609 object SweepTimeCombobox: TComboBox 608 object SweepTimeCombobox: TComboBox
610 Left = 182 609 Left = 104
611 Height = 38 610 Height = 23
612 Hint = 'How long to sweep' 611 Hint = 'How long to sweep'
613 Top = 14 612 Top = 8
614 Width = 350 613 Width = 200
615 ItemHeight = 30 614 ItemHeight = 15
616 ItemIndex = 0 615 ItemIndex = 0
617 Items.Strings = ( 616 Items.Strings = (
618 'Off - no frequency change' 617 'Off - no frequency change'
@@ -633,12 +632,12 @@ object frmTracker: TfrmTracker
633 Text = 'Off - no frequency change' 632 Text = 'Off - no frequency change'
634 end 633 end
635 object SweepDirectionCombobox: TComboBox 634 object SweepDirectionCombobox: TComboBox
636 Left = 182 635 Left = 104
637 Height = 38 636 Height = 23
638 Hint = 'The direction of the sweep' 637 Hint = 'The direction of the sweep'
639 Top = 70 638 Top = 40
640 Width = 350 639 Width = 200
641 ItemHeight = 30 640 ItemHeight = 15
642 ItemIndex = 1 641 ItemIndex = 1
643 Items.Strings = ( 642 Items.Strings = (
644 'Up' 643 'Up'
@@ -653,39 +652,39 @@ object frmTracker: TfrmTracker
653 Text = 'Down' 652 Text = 'Down'
654 end 653 end
655 object Label8: TLabel 654 object Label8: TLabel
656 Left = 14 655 Left = 8
657 Height = 15 656 Height = 15
658 Top = 84 657 Top = 48
659 Width = 84 658 Width = 84
660 Caption = 'Sweep direction' 659 Caption = 'Sweep direction'
661 ParentColor = False 660 ParentColor = False
662 ParentFont = False 661 ParentFont = False
663 end 662 end
664 object Label9: TLabel 663 object Label9: TLabel
665 Left = 14 664 Left = 8
666 Height = 15 665 Height = 15
667 Top = 147 666 Top = 84
668 Width = 56 667 Width = 56
669 Caption = 'Sweep size' 668 Caption = 'Sweep size'
670 ParentColor = False 669 ParentColor = False
671 ParentFont = False 670 ParentFont = False
672 end 671 end
673 object Label10: TLabel 672 object Label10: TLabel
674 Left = 14 673 Left = 8
675 Height = 15 674 Height = 15
676 Top = 210 675 Top = 120
677 Width = 25 676 Width = 25
678 Caption = 'Duty' 677 Caption = 'Duty'
679 ParentColor = False 678 ParentColor = False
680 ParentFont = False 679 ParentFont = False
681 end 680 end
682 object DutyCombobox: TComboBox 681 object DutyCombobox: TComboBox
683 Left = 182 682 Left = 104
684 Height = 38 683 Height = 23
685 Hint = 'Which duty cycle to use (changes timbre of wave)' 684 Hint = 'Which duty cycle to use (changes timbre of wave)'
686 Top = 196 685 Top = 112
687 Width = 350 686 Width = 200
688 ItemHeight = 30 687 ItemHeight = 15
689 ItemIndex = 2 688 ItemIndex = 2
690 Items.Strings = ( 689 Items.Strings = (
691 '12.5%' 690 '12.5%'
@@ -702,10 +701,10 @@ object frmTracker: TfrmTracker
702 Text = '50% (square)' 701 Text = '50% (square)'
703 end 702 end
704 object SweepSizeTrackbar: TTrackBar 703 object SweepSizeTrackbar: TTrackBar
705 Left = 184 704 Left = 105
706 Height = 44 705 Height = 25
707 Top = 140 706 Top = 80
708 Width = 343 707 Width = 196
709 Max = 7 708 Max = 7
710 OnChange = SweepSizeSpinnerChange 709 OnChange = SweepSizeSpinnerChange
711 Position = 0 710 Position = 0
@@ -715,45 +714,45 @@ object frmTracker: TfrmTracker
715 end 714 end
716 object WaveGroupBox: TGroupBox 715 object WaveGroupBox: TGroupBox
717 Left = 340 716 Left = 340
718 Height = 296 717 Height = 169
719 Top = 229 718 Top = 229
720 Width = 520 719 Width = 297
721 Anchors = [] 720 Anchors = []
722 BorderSpacing.Left = 12 721 BorderSpacing.Left = 7
723 BorderSpacing.Top = 12 722 BorderSpacing.Top = 7
724 BorderSpacing.Right = 12 723 BorderSpacing.Right = 7
725 BorderSpacing.Bottom = 12 724 BorderSpacing.Bottom = 7
726 Caption = 'Wave' 725 Caption = 'Wave'
727 ClientHeight = 261 726 ClientHeight = 149
728 ClientWidth = 516 727 ClientWidth = 293
729 Enabled = False 728 Enabled = False
730 ParentFont = False 729 ParentFont = False
731 TabOrder = 3 730 TabOrder = 3
732 object Label11: TLabel 731 object Label11: TLabel
733 Left = 14 732 Left = 8
734 Height = 15 733 Height = 15
735 Top = 28 734 Top = 16
736 Width = 40 735 Width = 40
737 Caption = 'Volume' 736 Caption = 'Volume'
738 ParentColor = False 737 ParentColor = False
739 ParentFont = False 738 ParentFont = False
740 end 739 end
741 object Label12: TLabel 740 object Label12: TLabel
742 Left = 14 741 Left = 8
743 Height = 15 742 Height = 15
744 Top = 84 743 Top = 48
745 Width = 55 744 Width = 55
746 Caption = 'Waveform' 745 Caption = 'Waveform'
747 ParentColor = False 746 ParentColor = False
748 ParentFont = False 747 ParentFont = False
749 end 748 end
750 object WaveformCombobox: TComboBox 749 object WaveformCombobox: TComboBox
751 Left = 182 750 Left = 104
752 Height = 38 751 Height = 23
753 Hint = 'Which waveform is associated with this instrument' 752 Hint = 'Which waveform is associated with this instrument'
754 Top = 70 753 Top = 40
755 Width = 308 754 Width = 176
756 ItemHeight = 30 755 ItemHeight = 15
757 ItemIndex = 0 756 ItemIndex = 0
758 Items.Strings = ( 757 Items.Strings = (
759 'Wave #0' 758 'Wave #0'
@@ -780,13 +779,13 @@ object frmTracker: TfrmTracker
780 Text = 'Wave #0' 779 Text = 'Wave #0'
781 end 780 end
782 object Panel4: TPanel 781 object Panel4: TPanel
783 Left = 14 782 Left = 8
784 Height = 103 783 Height = 59
785 Top = 140 784 Top = 80
786 Width = 476 785 Width = 272
787 BevelOuter = bvLowered 786 BevelOuter = bvLowered
788 ClientHeight = 103 787 ClientHeight = 59
789 ClientWidth = 476 788 ClientWidth = 272
790 ParentFont = False 789 ParentFont = False
791 TabOrder = 1 790 TabOrder = 1
792 object WavePaintbox: TPaintBox 791 object WavePaintbox: TPaintBox
@@ -803,12 +802,12 @@ object frmTracker: TfrmTracker
803 end 802 end
804 end 803 end
805 object WaveVolumeCombobox: TComboBox 804 object WaveVolumeCombobox: TComboBox
806 Left = 182 805 Left = 104
807 Height = 38 806 Height = 23
808 Hint = 'The initial volume of the wave' 807 Hint = 'The initial volume of the wave'
809 Top = 14 808 Top = 8
810 Width = 308 809 Width = 176
811 ItemHeight = 30 810 ItemHeight = 15
812 ItemIndex = 1 811 ItemIndex = 1
813 Items.Strings = ( 812 Items.Strings = (
814 'Mute (No sound)' 813 'Mute (No sound)'
@@ -825,25 +824,25 @@ object frmTracker: TfrmTracker
825 end 824 end
826 object NoiseGroupBox: TGroupBox 825 object NoiseGroupBox: TGroupBox
827 Left = 651 826 Left = 651
828 Height = 296 827 Height = 169
829 Top = 229 828 Top = 229
830 Width = 462 829 Width = 264
831 Anchors = [] 830 Anchors = []
832 BorderSpacing.Left = 12 831 BorderSpacing.Left = 7
833 BorderSpacing.Top = 12 832 BorderSpacing.Top = 7
834 BorderSpacing.Right = 12 833 BorderSpacing.Right = 7
835 BorderSpacing.Bottom = 12 834 BorderSpacing.Bottom = 7
836 Caption = 'Noise' 835 Caption = 'Noise'
837 ClientHeight = 261 836 ClientHeight = 149
838 ClientWidth = 458 837 ClientWidth = 260
839 Enabled = False 838 Enabled = False
840 ParentFont = False 839 ParentFont = False
841 TabOrder = 4 840 TabOrder = 4
842 object SevenBitCounterCheckbox: TCheckBox 841 object SevenBitCounterCheckbox: TCheckBox
843 Left = 14 842 Left = 8
844 Height = 19 843 Height = 19
845 Hint = 'Select LFSR width. When checked, output will sound like a tone rather than noise' 844 Hint = 'Select LFSR width. When checked, output will sound like a tone rather than noise'
846 Top = 140 845 Top = 80
847 Width = 215 846 Width = 215
848 Alignment = taLeftJustify 847 Alignment = taLeftJustify
849 Caption = '7 bit counter (more tone-like output)' 848 Caption = '7 bit counter (more tone-like output)'
@@ -852,39 +851,39 @@ object frmTracker: TfrmTracker
852 TabOrder = 0 851 TabOrder = 0
853 end 852 end
854 object Label14: TLabel 853 object Label14: TLabel
855 Left = 16 854 Left = 9
856 Height = 15 855 Height = 15
857 Top = 89 856 Top = 51
858 Width = 71 857 Width = 71
859 Caption = 'Dividing ratio' 858 Caption = 'Dividing ratio'
860 ParentColor = False 859 ParentColor = False
861 ParentFont = False 860 ParentFont = False
862 end 861 end
863 object RandomizeNoiseButton: TButton 862 object RandomizeNoiseButton: TButton
864 Left = 16 863 Left = 9
865 Height = 44 864 Height = 25
866 Hint = 'Randomize the noise instrument parameters to get a random drum-like sound' 865 Hint = 'Randomize the noise instrument parameters to get a random drum-like sound'
867 Top = 196 866 Top = 112
868 Width = 424 867 Width = 242
869 Caption = 'Randomize' 868 Caption = 'Randomize'
870 OnClick = RandomizeNoiseButtonClick 869 OnClick = RandomizeNoiseButtonClick
871 ParentFont = False 870 ParentFont = False
872 TabOrder = 1 871 TabOrder = 1
873 end 872 end
874 object Label25: TLabel 873 object Label25: TLabel
875 Left = 16 874 Left = 9
876 Height = 15 875 Height = 15
877 Top = 28 876 Top = 16
878 Width = 86 877 Width = 86
879 Caption = 'Shift clock mask' 878 Caption = 'Shift clock mask'
880 ParentColor = False 879 ParentColor = False
881 ParentFont = False 880 ParentFont = False
882 end 881 end
883 object ShiftClockTrackbar: TTrackBar 882 object ShiftClockTrackbar: TTrackBar
884 Left = 192 883 Left = 110
885 Height = 44 884 Height = 25
886 Top = 28 885 Top = 16
887 Width = 256 886 Width = 146
888 Max = 15 887 Max = 15
889 OnChange = ShiftClockSpinnerChange 888 OnChange = ShiftClockSpinnerChange
890 Position = 0 889 Position = 0
@@ -892,10 +891,10 @@ object frmTracker: TfrmTracker
892 TabOrder = 2 891 TabOrder = 2
893 end 892 end
894 object DivRatioTrackbar: TTrackBar 893 object DivRatioTrackbar: TTrackBar
895 Left = 192 894 Left = 110
896 Height = 44 895 Height = 25
897 Top = 89 896 Top = 51
898 Width = 256 897 Width = 146
899 Max = 7 898 Max = 7
900 OnChange = DivRatioSpinnerChange 899 OnChange = DivRatioSpinnerChange
901 Position = 0 900 Position = 0
@@ -919,7 +918,7 @@ object frmTracker: TfrmTracker
919 Width = 975 918 Width = 975
920 Align = alBottom 919 Align = alBottom
921 Anchors = [akTop, akLeft, akRight, akBottom] 920 Anchors = [akTop, akLeft, akRight, akBottom]
922 BorderSpacing.Top = 23 921 BorderSpacing.Top = 13
923 ParentFont = False 922 ParentFont = False
924 OnMouseDown = WaveEditPaintBoxMouseDown 923 OnMouseDown = WaveEditPaintBoxMouseDown
925 OnMouseMove = WaveEditPaintBoxMouseMove 924 OnMouseMove = WaveEditPaintBoxMouseMove
@@ -927,51 +926,51 @@ object frmTracker: TfrmTracker
927 OnPaint = WaveEditPaintBoxPaint 926 OnPaint = WaveEditPaintBoxPaint
928 end 927 end
929 object WaveEditGroupBox: TGroupBox 928 object WaveEditGroupBox: TGroupBox
930 Left = 14 929 Left = 8
931 Height = 243 930 Height = 139
932 Top = 14 931 Top = 8
933 Width = 303 932 Width = 173
934 Caption = 'Wave Editor' 933 Caption = 'Wave Editor'
935 ClientHeight = 208 934 ClientHeight = 119
936 ClientWidth = 299 935 ClientWidth = 169
937 ParentFont = False 936 ParentFont = False
938 TabOrder = 0 937 TabOrder = 0
939 object Label20: TLabel 938 object Label20: TLabel
940 Left = 28 939 Left = 16
941 Height = 15 940 Height = 15
942 Top = 28 941 Top = 16
943 Width = 29 942 Width = 29
944 Caption = 'Wave' 943 Caption = 'Wave'
945 ParentColor = False 944 ParentColor = False
946 ParentFont = False 945 ParentFont = False
947 end 946 end
948 object WaveEditNumberSpinner: TSpinEdit 947 object WaveEditNumberSpinner: TSpinEdit
949 Left = 112 948 Left = 64
950 Height = 23 949 Height = 23
951 Top = 14 950 Top = 8
952 Width = 140 951 Width = 80
953 MaxValue = 15 952 MaxValue = 15
954 OnChange = WaveEditNumberSpinnerChange 953 OnChange = WaveEditNumberSpinnerChange
955 ParentFont = False 954 ParentFont = False
956 TabOrder = 0 955 TabOrder = 0
957 end 956 end
958 object ImportWaveButton: TButton 957 object ImportWaveButton: TButton
959 Left = 28 958 Left = 16
960 Height = 44 959 Height = 25
961 Hint = 'Import a wave' 960 Hint = 'Import a wave'
962 Top = 84 961 Top = 48
963 Width = 257 962 Width = 147
964 Caption = 'Import' 963 Caption = 'Import'
965 OnClick = ImportWaveButtonClick 964 OnClick = ImportWaveButtonClick
966 ParentFont = False 965 ParentFont = False
967 TabOrder = 1 966 TabOrder = 1
968 end 967 end
969 object ExportWaveButton: TButton 968 object ExportWaveButton: TButton
970 Left = 28 969 Left = 16
971 Height = 44 970 Height = 25
972 Hint = 'Export a wave' 971 Hint = 'Export a wave'
973 Top = 140 972 Top = 80
974 Width = 257 973 Width = 147
975 Caption = 'Export' 974 Caption = 'Export'
976 OnClick = ExportWaveButtonClick 975 OnClick = ExportWaveButtonClick
977 ParentFont = False 976 ParentFont = False
@@ -994,15 +993,15 @@ object frmTracker: TfrmTracker
994 Width = 975 993 Width = 975
995 Align = alBottom 994 Align = alBottom
996 Anchors = [akTop, akLeft, akRight, akBottom] 995 Anchors = [akTop, akLeft, akRight, akBottom]
997 BorderSpacing.Top = 23 996 BorderSpacing.Top = 13
998 OnChange = CommentMemoChange 997 OnChange = CommentMemoChange
999 ParentFont = False 998 ParentFont = False
1000 TabOrder = 0 999 TabOrder = 0
1001 end 1000 end
1002 object Label17: TLabel 1001 object Label17: TLabel
1003 Left = 14 1002 Left = 8
1004 Height = 15 1003 Height = 15
1005 Top = 14 1004 Top = 8
1006 Width = 333 1005 Width = 333
1007 Caption = 'This is an area to write comments for anyone editing your tune.' 1006 Caption = 'This is an area to write comments for anyone editing your tune.'
1008 ParentColor = False 1007 ParentColor = False
@@ -1022,17 +1021,17 @@ object frmTracker: TfrmTracker
1022 Top = 243 1021 Top = 243
1023 Width = 1712 1022 Width = 1712
1024 Align = alBottom 1023 Align = alBottom
1025 BorderSpacing.Top = 23 1024 BorderSpacing.Top = 13
1026 Anchors = [akTop, akLeft, akRight, akBottom] 1025 Anchors = [akTop, akLeft, akRight, akBottom]
1027 Enabled = False 1026 Enabled = False
1028 Font.Height = -23 1027 Font.Height = -13
1029 Font.Name = 'Courier New' 1028 Font.Name = 'Courier New'
1030 Font.Pitch = fpFixed 1029 Font.Pitch = fpFixed
1031 Font.Quality = fqNonAntialiased 1030 Font.Quality = fqNonAntialiased
1032 ParentColor = False 1031 ParentColor = False
1033 ParentFont = False 1032 ParentFont = False
1034 TabOrder = 0 1033 TabOrder = 0
1035 Gutter.Width = 100 1034 Gutter.Width = 57
1036 Gutter.MouseActions = <> 1035 Gutter.MouseActions = <>
1037 RightGutter.Width = 0 1036 RightGutter.Width = 0
1038 RightGutter.MouseActions = <> 1037 RightGutter.MouseActions = <>
@@ -1484,11 +1483,11 @@ object frmTracker: TfrmTracker
1484 LineHighlightColor.Foreground = clNone 1483 LineHighlightColor.Foreground = clNone
1485 inline SynLeftGutterPartList1: TSynGutterPartList 1484 inline SynLeftGutterPartList1: TSynGutterPartList
1486 object SynGutterMarks1: TSynGutterMarks 1485 object SynGutterMarks1: TSynGutterMarks
1487 Width = 42 1486 Width = 24
1488 MouseActions = <> 1487 MouseActions = <>
1489 end 1488 end
1490 object SynGutterLineNumber1: TSynGutterLineNumber 1489 object SynGutterLineNumber1: TSynGutterLineNumber
1491 Width = 29 1490 Width = 17
1492 MouseActions = <> 1491 MouseActions = <>
1493 MarkupInfo.Background = clBtnFace 1492 MarkupInfo.Background = clBtnFace
1494 MarkupInfo.Foreground = clNone 1493 MarkupInfo.Foreground = clNone
@@ -1498,19 +1497,18 @@ object frmTracker: TfrmTracker
1498 LeadingZeros = False 1497 LeadingZeros = False
1499 end 1498 end
1500 object SynGutterChanges1: TSynGutterChanges 1499 object SynGutterChanges1: TSynGutterChanges
1501 Width = 7 1500 Width = 4
1502 MouseActions = <> 1501 MouseActions = <>
1503 ModifiedColor = 59900 1502 ModifiedColor = 59900
1504 SavedColor = clGreen 1503 SavedColor = clGreen
1505 end 1504 end
1506 object SynGutterSeparator1: TSynGutterSeparator 1505 object SynGutterSeparator1: TSynGutterSeparator
1507 Width = 4 1506 Width = 2
1508 MouseActions = <> 1507 MouseActions = <>
1509 MarkupInfo.Background = clWhite 1508 MarkupInfo.Background = clWhite
1510 MarkupInfo.Foreground = clGray 1509 MarkupInfo.Foreground = clGray
1511 end 1510 end
1512 object SynGutterCodeFolding1: TSynGutterCodeFolding 1511 object SynGutterCodeFolding1: TSynGutterCodeFolding
1513 Width = 18
1514 MouseActions = <> 1512 MouseActions = <>
1515 MarkupInfo.Background = clNone 1513 MarkupInfo.Background = clNone
1516 MarkupInfo.Foreground = clGray 1514 MarkupInfo.Foreground = clGray
@@ -1520,19 +1518,19 @@ object frmTracker: TfrmTracker
1520 end 1518 end
1521 end 1519 end
1522 object Label18: TLabel 1520 object Label18: TLabel
1523 Left = 14 1521 Left = 8
1524 Height = 30 1522 Height = 30
1525 Top = 28 1523 Top = 16
1526 Width = 71 1524 Width = 71
1527 Caption = 'Routine' 1525 Caption = 'Routine'
1528 ParentColor = False 1526 ParentColor = False
1529 ParentFont = False 1527 ParentFont = False
1530 end 1528 end
1531 object RoutineNumberSpinner: TSpinEdit 1529 object RoutineNumberSpinner: TSpinEdit
1532 Left = 112 1530 Left = 64
1533 Height = 38 1531 Height = 38
1534 Top = 14 1532 Top = 8
1535 Width = 308 1533 Width = 176
1536 Enabled = False 1534 Enabled = False
1537 MaxValue = 15 1535 MaxValue = 15
1538 MinValue = 1 1536 MinValue = 1
@@ -1541,9 +1539,9 @@ object frmTracker: TfrmTracker
1541 Value = 1 1539 Value = 1
1542 end 1540 end
1543 object Label19: TLabel 1541 object Label19: TLabel
1544 Left = 14 1542 Left = 8
1545 Height = 150 1543 Height = 150
1546 Top = 70 1544 Top = 40
1547 Width = 891 1545 Width = 891
1548 Caption = 'Routines are an advanced feature of hUGETracker, and you likely won''t need them at all'#13#10'if you are only interested in composing music. If you want to create a custom effect, or interface'#13#10'with game code that you''re writing a soundtrack for, then routines will come in handy.'#13#10#13#10'Refer to the user manual for more information!' 1546 Caption = 'Routines are an advanced feature of hUGETracker, and you likely won''t need them at all'#13#10'if you are only interested in composing music. If you want to create a custom effect, or interface'#13#10'with game code that you''re writing a soundtrack for, then routines will come in handy.'#13#10#13#10'Refer to the user manual for more information!'
1549 ParentColor = False 1547 ParentColor = False
@@ -1554,22 +1552,22 @@ object frmTracker: TfrmTracker
1554 end 1552 end
1555 object Panel2: TPanel 1553 object Panel2: TPanel
1556 Left = 0 1554 Left = 0
1557 Height = 312 1555 Height = 178
1558 Top = 41 1556 Top = 25
1559 Width = 2067 1557 Width = 1181
1560 Align = alTop 1558 Align = alTop
1561 BevelOuter = bvNone 1559 BevelOuter = bvNone
1562 ChildSizing.HorizontalSpacing = 10 1560 ChildSizing.HorizontalSpacing = 10
1563 ClientHeight = 312 1561 ClientHeight = 178
1564 ClientWidth = 2067 1562 ClientWidth = 1181
1565 ParentFont = False 1563 ParentFont = False
1566 TabOrder = 3 1564 TabOrder = 3
1567 object LEDMeter1: TLEDMeter 1565 object LEDMeter1: TLEDMeter
1568 AnchorSideRight.Side = asrBottom 1566 AnchorSideRight.Side = asrBottom
1569 Left = 1288 1567 Left = 736
1570 Height = 312 1568 Height = 178
1571 Top = 0 1569 Top = 0
1572 Width = 88 1570 Width = 50
1573 Anchors = [akTop, akRight] 1571 Anchors = [akTop, akRight]
1574 BevelStyle = bvLowered 1572 BevelStyle = bvLowered
1575 Colors.Border = clBlack 1573 Colors.Border = clBlack
@@ -1590,10 +1588,10 @@ object frmTracker: TfrmTracker
1590 end 1588 end
1591 object LEDMeter2: TLEDMeter 1589 object LEDMeter2: TLEDMeter
1592 AnchorSideRight.Side = asrBottom 1590 AnchorSideRight.Side = asrBottom
1593 Left = 1200 1591 Left = 686
1594 Height = 312 1592 Height = 178
1595 Top = 0 1593 Top = 0
1596 Width = 88 1594 Width = 50
1597 Anchors = [akTop, akRight] 1595 Anchors = [akTop, akRight]
1598 BevelStyle = bvLowered 1596 BevelStyle = bvLowered
1599 Colors.Border = clBlack 1597 Colors.Border = clBlack
@@ -1613,49 +1611,49 @@ object frmTracker: TfrmTracker
1613 Section3Value = 80 1611 Section3Value = 80
1614 end 1612 end
1615 object Panel6: TPanel 1613 object Panel6: TPanel
1616 Left = 1377 1614 Left = 787
1617 Height = 312 1615 Height = 178
1618 Top = 0 1616 Top = 0
1619 Width = 690 1617 Width = 394
1620 Align = alRight 1618 Align = alRight
1621 AutoSize = True 1619 AutoSize = True
1622 BevelOuter = bvNone 1620 BevelOuter = bvNone
1623 ClientHeight = 312 1621 ClientHeight = 178
1624 ClientWidth = 690 1622 ClientWidth = 394
1625 ParentFont = False 1623 ParentFont = False
1626 TabOrder = 0 1624 TabOrder = 0
1627 object Duty1Visualizer: TPaintBox 1625 object Duty1Visualizer: TPaintBox
1628 Left = 0 1626 Left = 0
1629 Height = 156 1627 Height = 89
1630 Top = 0 1628 Top = 0
1631 Width = 345 1629 Width = 197
1632 ParentFont = False 1630 ParentFont = False
1633 OnClick = Duty1VisualizerClick 1631 OnClick = Duty1VisualizerClick
1634 OnPaint = Duty1VisualizerPaint 1632 OnPaint = Duty1VisualizerPaint
1635 end 1633 end
1636 object Duty2Visualizer: TPaintBox 1634 object Duty2Visualizer: TPaintBox
1637 Left = 345 1635 Left = 197
1638 Height = 156 1636 Height = 89
1639 Top = 0 1637 Top = 0
1640 Width = 345 1638 Width = 197
1641 ParentFont = False 1639 ParentFont = False
1642 OnClick = Duty1VisualizerClick 1640 OnClick = Duty1VisualizerClick
1643 OnPaint = Duty2VisualizerPaint 1641 OnPaint = Duty2VisualizerPaint
1644 end 1642 end
1645 object WaveVisualizer: TPaintBox 1643 object WaveVisualizer: TPaintBox
1646 Left = 0 1644 Left = 0
1647 Height = 156 1645 Height = 89
1648 Top = 152 1646 Top = 87
1649 Width = 345 1647 Width = 197
1650 ParentFont = False 1648 ParentFont = False
1651 OnClick = Duty1VisualizerClick 1649 OnClick = Duty1VisualizerClick
1652 OnPaint = WaveVisualizerPaint 1650 OnPaint = WaveVisualizerPaint
1653 end 1651 end
1654 object NoiseVisualizer: TPaintBox 1652 object NoiseVisualizer: TPaintBox
1655 Left = 345 1653 Left = 197
1656 Height = 156 1654 Height = 89
1657 Top = 152 1655 Top = 87
1658 Width = 345 1656 Width = 197
1659 ParentFont = False 1657 ParentFont = False
1660 OnClick = Duty1VisualizerClick 1658 OnClick = Duty1VisualizerClick
1661 OnPaint = NoiseVisualizerPaint 1659 OnPaint = NoiseVisualizerPaint
@@ -1664,19 +1662,19 @@ object frmTracker: TfrmTracker
1664 end 1662 end
1665 object StatusBar1: TStatusBar 1663 object StatusBar1: TStatusBar
1666 Left = 0 1664 Left = 0
1667 Height = 43 1665 Height = 23
1668 Top = 1173 1666 Top = 671
1669 Width = 2067 1667 Width = 1181
1670 AutoHint = True 1668 AutoHint = True
1671 Panels = < 1669 Panels = <
1672 item 1670 item
1673 Width = 817 1671 Width = 467
1674 end 1672 end
1675 item 1673 item
1676 Width = 350 1674 Width = 200
1677 end 1675 end
1678 item 1676 item
1679 Width = 350 1677 Width = 200
1680 end> 1678 end>
1681 ParentFont = False 1679 ParentFont = False
1682 ParentShowHint = False 1680 ParentShowHint = False
@@ -1685,9 +1683,9 @@ object frmTracker: TfrmTracker
1685 end 1683 end
1686 object ToolBar1: TToolBar 1684 object ToolBar1: TToolBar
1687 Left = 0 1685 Left = 0
1688 Height = 41 1686 Height = 25
1689 Top = 0 1687 Top = 0
1690 Width = 2067 1688 Width = 1181
1691 AutoSize = True 1689 AutoSize = True
1692 Caption = 'ToolBar1' 1690 Caption = 'ToolBar1'
1693 EdgeBorders = [ebBottom] 1691 EdgeBorders = [ebBottom]
@@ -1704,7 +1702,7 @@ object frmTracker: TfrmTracker
1704 ParentShowHint = False 1702 ParentShowHint = False
1705 end 1703 end
1706 object PanicToolButton: TToolButton 1704 object PanicToolButton: TToolButton
1707 Left = 851 1705 Left = 557
1708 Hint = 'Stops all sound output' 1706 Hint = 'Stops all sound output'
1709 Top = 0 1707 Top = 0
1710 AutoSize = True 1708 AutoSize = True
@@ -1715,21 +1713,21 @@ object frmTracker: TfrmTracker
1715 ShowHint = True 1713 ShowHint = True
1716 end 1714 end
1717 object ToolButton2: TToolButton 1715 object ToolButton2: TToolButton
1718 Left = 221 1716 Left = 147
1719 Top = 0 1717 Top = 0
1720 Caption = '▶️ Cursor' 1718 Caption = '▶️ Cursor'
1721 ImageIndex = 75 1719 ImageIndex = 75
1722 OnClick = ToolButton2Click 1720 OnClick = ToolButton2Click
1723 end 1721 end
1724 object ToolButton4: TToolButton 1722 object ToolButton4: TToolButton
1725 Left = 331 1723 Left = 221
1726 Top = 0 1724 Top = 0
1727 Caption = '⏹ Stop' 1725 Caption = '⏹ Stop'
1728 ImageIndex = 73 1726 ImageIndex = 73
1729 OnClick = ToolButton4Click 1727 OnClick = ToolButton4Click
1730 end 1728 end
1731 object ExportGBButton: TToolButton 1729 object ExportGBButton: TToolButton
1732 Left = 442 1730 Left = 291
1733 Top = 0 1731 Top = 0
1734 AutoSize = True 1732 AutoSize = True
1735 Caption = 'Export .GB' 1733 Caption = 'Export .GB'
@@ -1737,67 +1735,67 @@ object frmTracker: TfrmTracker
1737 OnClick = ExportGBButtonClick 1735 OnClick = ExportGBButtonClick
1738 end 1736 end
1739 object ToolButton8: TToolButton 1737 object ToolButton8: TToolButton
1740 Left = 120 1738 Left = 79
1741 Height = 39 1739 Height = 22
1742 Top = 0 1740 Top = 0
1743 Caption = 'ToolButton8' 1741 Caption = 'ToolButton8'
1744 Style = tbsDivider 1742 Style = tbsDivider
1745 end 1743 end
1746 object ToolButton6: TToolButton 1744 object ToolButton6: TToolButton
1747 Left = 433 1745 Left = 286
1748 Height = 39 1746 Height = 22
1749 Top = 0 1747 Top = 0
1750 Caption = 'ToolButton6' 1748 Caption = 'ToolButton6'
1751 Style = tbsDivider 1749 Style = tbsDivider
1752 end 1750 end
1753 object ToolButton7: TToolButton 1751 object ToolButton7: TToolButton
1754 Left = 1827 1752 Left = 1122
1755 Height = 39 1753 Height = 22
1756 Top = 0 1754 Top = 0
1757 Caption = 'ToolButton7' 1755 Caption = 'ToolButton7'
1758 Style = tbsSeparator 1756 Style = tbsSeparator
1759 end 1757 end
1760 object OctaveSpinEdit: TSpinEdit 1758 object OctaveSpinEdit: TSpinEdit
1761 Left = 1018 1759 Left = 663
1762 Height = 38 1760 Height = 23
1763 Top = 0 1761 Top = 0
1764 Width = 158 1762 Width = 90
1765 MaxValue = 5 1763 MaxValue = 5
1766 OnChange = OctaveSpinEditChange 1764 OnChange = OctaveSpinEditChange
1767 ParentFont = False 1765 ParentFont = False
1768 TabOrder = 0 1766 TabOrder = 0
1769 end 1767 end
1770 object ToolButton9: TToolButton 1768 object ToolButton9: TToolButton
1771 Left = 927 1769 Left = 612
1772 Height = 39 1770 Height = 22
1773 Top = 0 1771 Top = 0
1774 Caption = 'ToolButton9' 1772 Caption = 'ToolButton9'
1775 Style = tbsSeparator 1773 Style = tbsSeparator
1776 end 1774 end
1777 object Label22: TLabel 1775 object Label22: TLabel
1778 Left = 941 1776 Left = 620
1779 Height = 30 1777 Height = 15
1780 Top = 0 1778 Top = 0
1781 Width = 77 1779 Width = 43
1782 Caption = 'Octave ' 1780 Caption = 'Octave '
1783 ParentColor = False 1781 ParentColor = False
1784 ParentFont = False 1782 ParentFont = False
1785 end 1783 end
1786 object Label23: TLabel 1784 object Label23: TLabel
1787 Left = 1176 1785 Left = 753
1788 Height = 30 1786 Height = 15
1789 Top = 0 1787 Top = 0
1790 Width = 125 1788 Width = 70
1791 Caption = ' Instrument ' 1789 Caption = ' Instrument '
1792 ParentColor = False 1790 ParentColor = False
1793 ParentFont = False 1791 ParentFont = False
1794 end 1792 end
1795 object InstrumentComboBox: TComboBox 1793 object InstrumentComboBox: TComboBox
1796 Left = 1301 1794 Left = 823
1797 Height = 38 1795 Height = 23
1798 Top = 0 1796 Top = 0
1799 Width = 374 1797 Width = 214
1800 ItemHeight = 30 1798 ItemHeight = 15
1801 ItemIndex = 0 1799 ItemIndex = 0
1802 Items.Strings = ( 1800 Items.Strings = (
1803 '(no instrument)' 1801 '(no instrument)'
@@ -1824,47 +1822,47 @@ object frmTracker: TfrmTracker
1824 Text = '(no instrument)' 1822 Text = '(no instrument)'
1825 end 1823 end
1826 object Label24: TLabel 1824 object Label24: TLabel
1827 Left = 1675 1825 Left = 1037
1828 Height = 30 1826 Height = 15
1829 Top = 0 1827 Top = 0
1830 Width = 64 1828 Width = 35
1831 Caption = ' Step ' 1829 Caption = ' Step '
1832 ParentColor = False 1830 ParentColor = False
1833 ParentFont = False 1831 ParentFont = False
1834 end 1832 end
1835 object StepSpinEdit: TSpinEdit 1833 object StepSpinEdit: TSpinEdit
1836 Left = 1739 1834 Left = 1072
1837 Height = 38 1835 Height = 23
1838 Top = 0 1836 Top = 0
1839 Width = 88 1837 Width = 50
1840 MaxValue = 63 1838 MaxValue = 63
1841 OnChange = StepSpinEditChange 1839 OnChange = StepSpinEditChange
1842 ParentFont = False 1840 ParentFont = False
1843 TabOrder = 2 1841 TabOrder = 2
1844 end 1842 end
1845 object ToolButton3: TToolButton 1843 object ToolButton3: TToolButton
1846 Left = 129 1844 Left = 84
1847 Top = 0 1845 Top = 0
1848 Caption = '▶️ Start' 1846 Caption = '▶️ Start'
1849 ImageIndex = 74 1847 ImageIndex = 74
1850 OnClick = ToolButton3Click 1848 OnClick = ToolButton3Click
1851 end 1849 end
1852 object ExportGBSButton: TToolButton 1850 object ExportGBSButton: TToolButton
1853 Left = 564 1851 Left = 372
1854 Top = 0 1852 Top = 0
1855 Caption = 'Export .GBS' 1853 Caption = 'Export .GBS'
1856 ImageIndex = 76 1854 ImageIndex = 76
1857 OnClick = ExportGBSButtonClick 1855 OnClick = ExportGBSButtonClick
1858 end 1856 end
1859 object ToolButton5: TToolButton 1857 object ToolButton5: TToolButton
1860 Left = 842 1858 Left = 552
1861 Height = 39 1859 Height = 22
1862 Top = 0 1860 Top = 0
1863 Caption = 'ToolButton5' 1861 Caption = 'ToolButton5'
1864 Style = tbsDivider 1862 Style = tbsDivider
1865 end 1863 end
1866 object ToolButton10: TToolButton 1864 object ToolButton10: TToolButton
1867 Left = 697 1865 Left = 459
1868 Top = 0 1866 Top = 0
1869 Caption = 'Render Song' 1867 Caption = 'Render Song'
1870 ImageIndex = 77 1868 ImageIndex = 77
@@ -1873,8 +1871,8 @@ object frmTracker: TfrmTracker
1873 end 1871 end
1874 object MainMenu1: TMainMenu 1872 object MainMenu1: TMainMenu
1875 Images = ImageList1 1873 Images = ImageList1
1876 left = 952 1874 left = 544
1877 top = 65 1875 top = 37
1878 object MenuItem1: TMenuItem 1876 object MenuItem1: TMenuItem
1879 Caption = 'File' 1877 Caption = 'File'
1880 object MenuItem12: TMenuItem 1878 object MenuItem12: TMenuItem
@@ -1976,8 +1974,8 @@ object frmTracker: TfrmTracker
1976 end 1974 end
1977 object ActionList1: TActionList 1975 object ActionList1: TActionList
1978 Images = ImageList1 1976 Images = ImageList1
1979 left = 1120 1977 left = 640
1980 top = 65 1978 top = 37
1981 object FileOpen1: TFileOpen 1979 object FileOpen1: TFileOpen
1982 Category = 'File' 1980 Category = 'File'
1983 Caption = '&Open ...' 1981 Caption = '&Open ...'
@@ -2081,8 +2079,8 @@ object frmTracker: TfrmTracker
2081 end 2079 end
2082 end 2080 end
2083 object ImageList1: TImageList 2081 object ImageList1: TImageList
2084 left = 536 2082 left = 306
2085 top = 72 2083 top = 41
2086 Bitmap = { 2084 Bitmap = {
2087 4C694E0000001000000010000000000000000000000000000000000000000000 2085 4C694E0000001000000010000000000000000000000000000000000000000000
2088 0000000000000000000000000000000000000000000000000000000000000000 2086 0000000000000000000000000000000000000000000000000000000000000000
@@ -4585,17 +4583,17 @@ object frmTracker: TfrmTracker
4585 end 4583 end
4586 object OpenDialog1: TOpenDialog 4584 object OpenDialog1: TOpenDialog
4587 Filter = 'hUGETracker Instruments|*.ugi' 4585 Filter = 'hUGETracker Instruments|*.ugi'
4588 left = 1033 4586 left = 590
4589 top = 159 4587 top = 91
4590 end 4588 end
4591 object InstrumentSaveDialog: TSaveDialog 4589 object InstrumentSaveDialog: TSaveDialog
4592 Filter = 'hUGETracker Instruments|*.ugi' 4590 Filter = 'hUGETracker Instruments|*.ugi'
4593 left = 865 4591 left = 494
4594 top = 72 4592 top = 41
4595 end 4593 end
4596 object OrderEditPopup: TPopupMenu 4594 object OrderEditPopup: TPopupMenu
4597 left = 641 4595 left = 366
4598 top = 81 4596 top = 46
4599 object MenuItem17: TMenuItem 4597 object MenuItem17: TMenuItem
4600 Caption = 'Insert new row' 4598 Caption = 'Insert new row'
4601 Hint = 'Insert a new row filled with brand new patterns' 4599 Hint = 'Insert a new row filled with brand new patterns'
@@ -4626,8 +4624,8 @@ object frmTracker: TfrmTracker
4626 object ImageList2: TImageList 4624 object ImageList2: TImageList
4627 Height = 32 4625 Height = 32
4628 Width = 32 4626 Width = 32
4629 left = 529 4627 left = 302
4630 top = 200 4628 top = 114
4631 Bitmap = { 4629 Bitmap = {
4632 4C69020000002000000020000000000000000000000000000000000000000000 4630 4C69020000002000000020000000000000000000000000000000000000000000
4633 0000000000000000000000000000000000000000000000000000000000000000 4631 0000000000000000000000000000000000000000000000000000000000000000
@@ -4892,33 +4890,33 @@ object frmTracker: TfrmTracker
4892 Enabled = False 4890 Enabled = False
4893 Interval = 200 4891 Interval = 200
4894 OnTimer = OscilloscopeUpdateTimerTimer 4892 OnTimer = OscilloscopeUpdateTimerTimer
4895 left = 760 4893 left = 434
4896 top = 72 4894 top = 41
4897 end 4895 end
4898 object GBSSaveDialog: TSaveDialog 4896 object GBSSaveDialog: TSaveDialog
4899 Filter = 'Gameboy Soundtrack|*.gbs' 4897 Filter = 'Gameboy Soundtrack|*.gbs'
4900 left = 1033 4898 left = 590
4901 top = 65 4899 top = 37
4902 end 4900 end
4903 object WaveSaveDialog: TSaveDialog 4901 object WaveSaveDialog: TSaveDialog
4904 Filter = 'hUGETracker Waves|*.ugw' 4902 Filter = 'hUGETracker Waves|*.ugw'
4905 left = 952 4903 left = 544
4906 top = 168 4904 top = 96
4907 end 4905 end
4908 object GBSaveDialog: TSaveDialog 4906 object GBSaveDialog: TSaveDialog
4909 Filter = 'Gameboy ROM|*.GB' 4907 Filter = 'Gameboy ROM|*.GB'
4910 left = 760 4908 left = 434
4911 top = 177 4909 top = 101
4912 end 4910 end
4913 object NoteHaltTimer: TTimer 4911 object NoteHaltTimer: TTimer
4914 Enabled = False 4912 Enabled = False
4915 OnTimer = NoteHaltTimerTimer 4913 OnTimer = NoteHaltTimerTimer
4916 left = 641 4914 left = 366
4917 top = 200 4915 top = 114
4918 end 4916 end
4919 object TrackerGridPopup: TPopupMenu 4917 object TrackerGridPopup: TPopupMenu
4920 left = 1120 4918 left = 640
4921 top = 159 4919 top = 91
4922 object TrackerPopupEditEffect: TMenuItem 4920 object TrackerPopupEditEffect: TMenuItem
4923 Caption = 'Edit effect ...' 4921 Caption = 'Edit effect ...'
4924 OnClick = TrackerPopupEditEffectClick 4922 OnClick = TrackerPopupEditEffectClick
@@ -5011,7 +5009,7 @@ object frmTracker: TfrmTracker
5011 object WavSaveDialog: TSaveDialog 5009 object WavSaveDialog: TSaveDialog
5012 DefaultExt = '.wav' 5010 DefaultExt = '.wav'
5013 Filter = 'Wave files|*.wav' 5011 Filter = 'Wave files|*.wav'
5014 left = 406 5012 left = 232
5015 top = 81 5013 top = 46
5016 end 5014 end
5017 end 5015 end
Modifiedtracker.pas +2−0
@@ -789,6 +789,8 @@ begin
789 SevenBitCounterCheckbox.Checked := CI^.CounterStep = Seven; 789 SevenBitCounterCheckbox.Checked := CI^.CounterStep = Seven;
790 end; 790 end;
791 end; 791 end;
792
793 WavePaintbox.Invalidate;
792 end; 794 end;
793 795
794 procedure TfrmTracker.ChangeToSquare; 796 procedure TfrmTracker.ChangeToSquare;