Commit 2042c07

Nick Faro committed on
Change selection when right clicking order grid
commit 2042c07be26d383718775d6624b39bb7c9f0e511 parent 5d1f846
2 changed files +561−547
Modifiedsrc/tracker.lfm +549−546
@@ -1,12 +1,13 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1751 2 Left = 571
3 Height = 819 3 Height = 1049
4 Top = 191 4 Top = 191
5 Width = 1301 5 Width = 1667
6 AllowDropFiles = True 6 AllowDropFiles = True
7 Caption = 'hUGETracker' 7 Caption = 'hUGETracker'
8 ClientHeight = 799 8 ClientHeight = 1023
9 ClientWidth = 1301 9 ClientWidth = 1667
10 DesignTimePPI = 123
10 KeyPreview = True 11 KeyPreview = True
11 Menu = MainMenu1 12 Menu = MainMenu1
12 OnCloseQuery = FormCloseQuery 13 OnCloseQuery = FormCloseQuery
@@ -17,12 +18,12 @@ object frmTracker: TfrmTracker
17 OnShow = FormShow 18 OnShow = FormShow
18 Position = poDefault 19 Position = poDefault
19 ShowHint = True 20 ShowHint = True
20 LCLVersion = '2.2.5.0' 21 LCLVersion = '2.2.7.0'
21 object TreeView1: TTreeView 22 object TreeView1: TTreeView
22 Left = 0 23 Left = 0
23 Height = 687 24 Height = 881
24 Top = 89 25 Top = 116
25 Width = 193 26 Width = 247
26 Align = alLeft 27 Align = alLeft
27 ParentFont = False 28 ParentFont = False
28 ReadOnly = True 29 ReadOnly = True
@@ -41,27 +42,27 @@ object frmTracker: TfrmTracker
41 } 42 }
42 end 43 end
43 object Splitter1: TSplitter 44 object Splitter1: TSplitter
44 Left = 193 45 Left = 247
45 Height = 687 46 Height = 881
46 Top = 89 47 Top = 116
47 Width = 5 48 Width = 6
48 end 49 end
49 object Panel1: TPanel 50 object Panel1: TPanel
50 Left = 198 51 Left = 253
51 Height = 687 52 Height = 881
52 Top = 89 53 Top = 116
53 Width = 1103 54 Width = 1414
54 Align = alClient 55 Align = alClient
55 BevelOuter = bvNone 56 BevelOuter = bvNone
56 ClientHeight = 687 57 ClientHeight = 881
57 ClientWidth = 1103 58 ClientWidth = 1414
58 ParentFont = False 59 ParentFont = False
59 TabOrder = 2 60 TabOrder = 2
60 object PageControl1: TPageControl 61 object PageControl1: TPageControl
61 Left = 0 62 Left = 0
62 Height = 687 63 Height = 881
63 Top = 0 64 Top = 0
64 Width = 1103 65 Width = 1414
65 ActivePage = PatternTabSheet 66 ActivePage = PatternTabSheet
66 Align = alClient 67 Align = alClient
67 ParentFont = False 68 ParentFont = False
@@ -69,74 +70,74 @@ object frmTracker: TfrmTracker
69 TabOrder = 0 70 TabOrder = 0
70 object GeneralTabSheet: TTabSheet 71 object GeneralTabSheet: TTabSheet
71 Caption = 'General' 72 Caption = 'General'
72 ClientHeight = 659 73 ClientHeight = 841
73 ClientWidth = 1095 74 ClientWidth = 1408
74 ParentFont = False 75 ParentFont = False
75 object SongInformationGroupbox: TGroupBox 76 object SongInformationGroupbox: TGroupBox
76 Left = 8 77 Left = 10
77 Height = 192 78 Height = 246
78 Top = 8 79 Top = 10
79 Width = 297 80 Width = 381
80 Caption = 'Song information' 81 Caption = 'Song information'
81 ClientHeight = 172 82 ClientHeight = 242
82 ClientWidth = 293 83 ClientWidth = 377
83 ParentFont = False 84 ParentFont = False
84 TabOrder = 0 85 TabOrder = 0
85 object Label15: TLabel 86 object Label15: TLabel
86 Left = 8 87 Left = 10
87 Height = 15 88 Height = 22
88 Top = 16 89 Top = 20
89 Width = 27 90 Width = 36
90 Caption = 'Song' 91 Caption = 'Song'
91 ParentColor = False 92 ParentColor = False
92 ParentFont = False 93 ParentFont = False
93 end 94 end
94 object Label16: TLabel 95 object Label16: TLabel
95 Left = 7 96 Left = 9
96 Height = 15 97 Height = 22
97 Top = 48 98 Top = 62
98 Width = 28 99 Width = 39
99 Caption = 'Artist' 100 Caption = 'Artist'
100 ParentColor = False 101 ParentColor = False
101 ParentFont = False 102 ParentFont = False
102 end 103 end
103 object SongEdit: TEdit 104 object SongEdit: TEdit
104 Left = 56 105 Left = 72
105 Height = 23 106 Height = 32
106 Hint = 'The name of your composition' 107 Hint = 'The name of your composition'
107 Top = 8 108 Top = 10
108 Width = 216 109 Width = 277
109 MaxLength = 255 110 MaxLength = 255
110 OnChange = SongEditChange 111 OnChange = SongEditChange
111 ParentFont = False 112 ParentFont = False
112 TabOrder = 0 113 TabOrder = 0
113 end 114 end
114 object ArtistEdit: TEdit 115 object ArtistEdit: TEdit
115 Left = 56 116 Left = 72
116 Height = 23 117 Height = 32
117 Hint = 'Your name or handle' 118 Hint = 'Your name or handle'
118 Top = 40 119 Top = 51
119 Width = 216 120 Width = 277
120 MaxLength = 255 121 MaxLength = 255
121 OnChange = ArtistEditChange 122 OnChange = ArtistEditChange
122 ParentFont = False 123 ParentFont = False
123 TabOrder = 1 124 TabOrder = 1
124 end 125 end
125 object Label21: TLabel 126 object Label21: TLabel
126 Left = 8 127 Left = 10
127 Height = 15 128 Height = 22
128 Top = 78 129 Top = 100
129 Width = 114 130 Width = 153
130 Caption = 'Tempo (ticks per row)' 131 Caption = 'Tempo (ticks per row)'
131 ParentColor = False 132 ParentColor = False
132 ParentFont = False 133 ParentFont = False
133 end 134 end
134 object TicksPerRowSpinEdit: TSpinEdit 135 object TicksPerRowSpinEdit: TSpinEdit
135 Left = 133 136 Left = 170
136 Height = 23 137 Height = 32
137 Hint = 'How many ticks should happen before the row changes. Higher means slower.' 138 Hint = 'How many ticks should happen before the row changes. Higher means slower.'
138 Top = 72 139 Top = 92
139 Width = 50 140 Width = 64
140 MaxValue = 20 141 MaxValue = 20
141 MinValue = 1 142 MinValue = 1
142 OnChange = TicksPerRowSpinEditChange 143 OnChange = TicksPerRowSpinEditChange
@@ -145,40 +146,40 @@ object frmTracker: TfrmTracker
145 Value = 7 146 Value = 7
146 end 147 end
147 object TimerEnabledCheckBox: TCheckBox 148 object TimerEnabledCheckBox: TCheckBox
148 Left = 7 149 Left = 9
149 Height = 19 150 Height = 24
150 Hint = 'Enable the GB hardware timer. This allows for more fine-grained tempo control.' 151 Hint = 'Enable the GB hardware timer. This allows for more fine-grained tempo control.'
151 Top = 144 152 Top = 184
152 Width = 160 153 Width = 215
153 Caption = 'Enable timer-based tempo' 154 Caption = 'Enable timer-based tempo'
154 OnChange = TimerEnabledCheckBoxChange 155 OnChange = TimerEnabledCheckBoxChange
155 TabOrder = 3 156 TabOrder = 3
156 end 157 end
157 object TimerTempoLabel: TLabel 158 object TimerTempoLabel: TLabel
158 Left = 8 159 Left = 10
159 Height = 15 160 Height = 22
160 Top = 112 161 Top = 144
161 Width = 114 162 Width = 154
162 Caption = 'Tempo (timer divider)' 163 Caption = 'Tempo (timer divider)'
163 Enabled = False 164 Enabled = False
164 ParentColor = False 165 ParentColor = False
165 end 166 end
166 object TimerDividerSpinEdit: TSpinEdit 167 object TimerDividerSpinEdit: TSpinEdit
167 Left = 133 168 Left = 170
168 Height = 23 169 Height = 32
169 Hint = 'The "modulo" value for the GB hardware timer. Higher means faster.' 170 Hint = 'The "modulo" value for the GB hardware timer. Higher means faster.'
170 Top = 108 171 Top = 138
171 Width = 50 172 Width = 64
172 Enabled = False 173 Enabled = False
173 MaxValue = 255 174 MaxValue = 255
174 OnChange = TimerDividerSpinEditChange 175 OnChange = TimerDividerSpinEditChange
175 TabOrder = 4 176 TabOrder = 4
176 end 177 end
177 object TempoBPMLabel: TLabel 178 object TempoBPMLabel: TLabel
178 Left = 192 179 Left = 246
179 Height = 15 180 Height = 22
180 Top = 96 181 Top = 123
181 Width = 89 182 Width = 120
182 Caption = 'TempoBPMLabel' 183 Caption = 'TempoBPMLabel'
183 ParentColor = False 184 ParentColor = False
184 end 185 end
@@ -186,59 +187,59 @@ object frmTracker: TfrmTracker
186 end 187 end
187 object PatternTabSheet: TTabSheet 188 object PatternTabSheet: TTabSheet
188 Caption = 'Patterns' 189 Caption = 'Patterns'
189 ClientHeight = 659 190 ClientHeight = 841
190 ClientWidth = 1095 191 ClientWidth = 1408
191 ParentFont = False 192 ParentFont = False
192 object Panel3: TPanel 193 object Panel3: TPanel
193 Left = 224 194 Left = 287
194 Height = 659 195 Height = 841
195 Top = 0 196 Top = 0
196 Width = 871 197 Width = 1121
197 Align = alClient 198 Align = alClient
198 ClientHeight = 659 199 ClientHeight = 841
199 ClientWidth = 871 200 ClientWidth = 1121
200 ParentFont = False 201 ParentFont = False
201 TabOrder = 0 202 TabOrder = 0
202 object HeaderControl1: THeaderControl 203 object HeaderControl1: THeaderControl
203 Left = 1 204 Left = 1
204 Height = 30 205 Height = 38
205 Hint = 'Left click to mute, right click to solo' 206 Hint = 'Left click to mute, right click to solo'
206 Top = 1 207 Top = 1
207 Width = 869 208 Width = 1119
208 DragReorder = False 209 DragReorder = False
209 Images = ImageList2 210 Images = ImageList2
210 Sections = < 211 Sections = <
211 item 212 item
212 Alignment = taLeftJustify 213 Alignment = taLeftJustify
213 Width = 32 214 Width = 41
214 Visible = True 215 Visible = True
215 end 216 end
216 item 217 item
217 Alignment = taCenter 218 Alignment = taCenter
218 ImageIndex = 1 219 ImageIndex = 1
219 Text = 'Duty 1' 220 Text = 'Duty 1'
220 Width = 133 221 Width = 170
221 Visible = True 222 Visible = True
222 end 223 end
223 item 224 item
224 Alignment = taCenter 225 Alignment = taCenter
225 ImageIndex = 1 226 ImageIndex = 1
226 Text = 'Duty 2' 227 Text = 'Duty 2'
227 Width = 133 228 Width = 170
228 Visible = True 229 Visible = True
229 end 230 end
230 item 231 item
231 Alignment = taCenter 232 Alignment = taCenter
232 ImageIndex = 1 233 ImageIndex = 1
233 Text = 'Wave' 234 Text = 'Wave'
234 Width = 133 235 Width = 170
235 Visible = True 236 Visible = True
236 end 237 end
237 item 238 item
238 Alignment = taCenter 239 Alignment = taCenter
239 ImageIndex = 1 240 ImageIndex = 1
240 Text = 'Noise' 241 Text = 'Noise'
241 Width = 133 242 Width = 170
242 Visible = True 243 Visible = True
243 end> 244 end>
244 OnSectionClick = HeaderControl1SectionClick 245 OnSectionClick = HeaderControl1SectionClick
@@ -249,34 +250,34 @@ object frmTracker: TfrmTracker
249 end 250 end
250 object ScrollBox1: TScrollBox 251 object ScrollBox1: TScrollBox
251 Left = 1 252 Left = 1
252 Height = 627 253 Height = 801
253 Top = 31 254 Top = 39
254 Width = 869 255 Width = 1119
255 HorzScrollBar.Increment = 3 256 HorzScrollBar.Increment = 4
256 HorzScrollBar.Page = 32 257 HorzScrollBar.Page = 41
257 HorzScrollBar.Smooth = True 258 HorzScrollBar.Smooth = True
258 HorzScrollBar.Tracking = True 259 HorzScrollBar.Tracking = True
259 VertScrollBar.Increment = 5 260 VertScrollBar.Increment = 6
260 VertScrollBar.Page = 50 261 VertScrollBar.Page = 64
261 VertScrollBar.Smooth = True 262 VertScrollBar.Smooth = True
262 VertScrollBar.Tracking = True 263 VertScrollBar.Tracking = True
263 Align = alClient 264 Align = alClient
264 BorderStyle = bsNone 265 BorderStyle = bsNone
265 ClientHeight = 627 266 ClientHeight = 801
266 ClientWidth = 869 267 ClientWidth = 1119
267 ParentFont = False 268 ParentFont = False
268 TabOrder = 1 269 TabOrder = 1
269 OnMouseWheelDown = ScrollBox1MouseWheelDown 270 OnMouseWheelDown = ScrollBox1MouseWheelDown
270 OnMouseWheelUp = ScrollBox1MouseWheelUp 271 OnMouseWheelUp = ScrollBox1MouseWheelUp
271 object RowNumberStringGrid: TStringGrid 272 object RowNumberStringGrid: TStringGrid
272 Left = 0 273 Left = 0
273 Height = 627 274 Height = 801
274 Top = 0 275 Top = 0
275 Width = 32 276 Width = 41
276 Align = alLeft 277 Align = alLeft
277 BorderStyle = bsNone 278 BorderStyle = bsNone
278 ColCount = 1 279 ColCount = 1
279 DefaultColWidth = 32 280 DefaultColWidth = 41
280 Enabled = False 281 Enabled = False
281 ParentFont = False 282 ParentFont = False
282 RowCount = 64 283 RowCount = 64
@@ -287,43 +288,43 @@ object frmTracker: TfrmTracker
287 end 288 end
288 object OrderEditStringGrid: TStringGrid 289 object OrderEditStringGrid: TStringGrid
289 Left = 0 290 Left = 0
290 Height = 659 291 Height = 841
291 Top = 0 292 Top = 0
292 Width = 224 293 Width = 287
293 Align = alLeft 294 Align = alLeft
294 AutoEdit = False 295 AutoEdit = False
295 AutoFillColumns = True 296 AutoFillColumns = True
296 Columns = < 297 Columns = <
297 item 298 item
298 Alignment = taCenter 299 Alignment = taCenter
299 MinSize = 33 300 MinSize = 42
300 MaxSize = 33 301 MaxSize = 42
301 Title.Caption = 'Dty1' 302 Title.Caption = 'Dty1'
302 Width = 34 303 Width = 47
303 end 304 end
304 item 305 item
305 Alignment = taCenter 306 Alignment = taCenter
306 MinSize = 33 307 MinSize = 42
307 MaxSize = 33 308 MaxSize = 42
308 Title.Caption = 'Dty2' 309 Title.Caption = 'Dty2'
309 Width = 34 310 Width = 47
310 end 311 end
311 item 312 item
312 Alignment = taCenter 313 Alignment = taCenter
313 MinSize = 33 314 MinSize = 42
314 MaxSize = 33 315 MaxSize = 42
315 Title.Caption = 'Wav' 316 Title.Caption = 'Wav'
316 Width = 34 317 Width = 47
317 end 318 end
318 item 319 item
319 Alignment = taCenter 320 Alignment = taCenter
320 MinSize = 33 321 MinSize = 42
321 MaxSize = 33 322 MaxSize = 42
322 Title.Caption = 'Nse' 323 Title.Caption = 'Nse'
323 Width = 37 324 Width = 47
324 end> 325 end>
325 DefaultColWidth = 17 326 DefaultColWidth = 22
326 DefaultRowHeight = 21 327 DefaultRowHeight = 27
327 ExtendedSelect = False 328 ExtendedSelect = False
328 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goRangeSelect, goRowMoving, goEditing, goTabs, goSmoothScroll, goFixedRowNumbering, goRowHighlight] 329 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goRangeSelect, goRowMoving, goEditing, goTabs, goSmoothScroll, goFixedRowNumbering, goRowHighlight]
329 ParentFont = False 330 ParentFont = False
@@ -340,26 +341,27 @@ object frmTracker: TfrmTracker
340 OnColRowInserted = OrderEditStringGridColRowInserted 341 OnColRowInserted = OrderEditStringGridColRowInserted
341 OnDblClick = OrderEditStringGridDblClick 342 OnDblClick = OrderEditStringGridDblClick
342 OnKeyDown = OrderEditStringGridKeyDown 343 OnKeyDown = OrderEditStringGridKeyDown
344 OnMouseDown = OrderEditStringGridMouseDown
343 OnValidateEntry = OrderEditStringGridValidateEntry 345 OnValidateEntry = OrderEditStringGridValidateEntry
344 ColWidths = ( 346 ColWidths = (
345 64 347 82
346 34 348 47
347 34 349 47
348 34 350 47
349 37 351 47
350 ) 352 )
351 end 353 end
352 end 354 end
353 object InstrumentTabSheet: TTabSheet 355 object InstrumentTabSheet: TTabSheet
354 Caption = 'Instruments' 356 Caption = 'Instruments'
355 ClientHeight = 659 357 ClientHeight = 841
356 ClientWidth = 1095 358 ClientWidth = 1408
357 ParentFont = False 359 ParentFont = False
358 object FlowPanel1: TFlowPanel 360 object FlowPanel1: TFlowPanel
359 Left = 0 361 Left = 0
360 Height = 659 362 Height = 841
361 Top = 0 363 Top = 0
362 Width = 935 364 Width = 1203
363 Align = alClient 365 Align = alClient
364 AutoSize = True 366 AutoSize = True
365 BevelOuter = bvNone 367 BevelOuter = bvNone
@@ -394,26 +396,26 @@ object frmTracker: TfrmTracker
394 ParentFont = False 396 ParentFont = False
395 TabOrder = 0 397 TabOrder = 0
396 object InstrumentGroupBox: TGroupBox 398 object InstrumentGroupBox: TGroupBox
397 Left = 7 399 Left = 9
398 Height = 273 400 Height = 350
399 Top = 7 401 Top = 9
400 Width = 280 402 Width = 359
401 Anchors = [] 403 Anchors = []
402 BorderSpacing.Left = 7 404 BorderSpacing.Left = 9
403 BorderSpacing.Top = 7 405 BorderSpacing.Top = 9
404 BorderSpacing.Right = 7 406 BorderSpacing.Right = 9
405 BorderSpacing.Bottom = 7 407 BorderSpacing.Bottom = 9
406 Caption = 'Instrument' 408 Caption = 'Instrument'
407 ClientHeight = 253 409 ClientHeight = 346
408 ClientWidth = 276 410 ClientWidth = 355
409 ParentFont = False 411 ParentFont = False
410 TabOrder = 0 412 TabOrder = 0
411 object InstrumentNumberSpinner: TSpinEdit 413 object InstrumentNumberSpinner: TSpinEdit
412 Left = 80 414 Left = 102
413 Height = 23 415 Height = 32
414 Hint = 'What instrument to edit' 416 Hint = 'What instrument to edit'
415 Top = 38 417 Top = 49
416 Width = 187 418 Width = 240
417 MaxValue = 15 419 MaxValue = 15
418 MinValue = 1 420 MinValue = 1
419 OnChange = InstrumentNumberSpinnerChange 421 OnChange = InstrumentNumberSpinnerChange
@@ -422,51 +424,51 @@ object frmTracker: TfrmTracker
422 Value = 1 424 Value = 1
423 end 425 end
424 object Label1: TLabel 426 object Label1: TLabel
425 Left = 8 427 Left = 10
426 Height = 15 428 Height = 22
427 Top = 46 429 Top = 59
428 Width = 58 430 Width = 83
429 Caption = 'Instrument' 431 Caption = 'Instrument'
430 ParentColor = False 432 ParentColor = False
431 ParentFont = False 433 ParentFont = False
432 end 434 end
433 object Label2: TLabel 435 object Label2: TLabel
434 Left = 8 436 Left = 10
435 Height = 15 437 Height = 22
436 Top = 78 438 Top = 100
437 Width = 32 439 Width = 44
438 Caption = 'Name' 440 Caption = 'Name'
439 ParentColor = False 441 ParentColor = False
440 ParentFont = False 442 ParentFont = False
441 end 443 end
442 object InstrumentNameEdit: TEdit 444 object InstrumentNameEdit: TEdit
443 Left = 80 445 Left = 102
444 Height = 23 446 Height = 32
445 Hint = 'The name of the instrument' 447 Hint = 'The name of the instrument'
446 Top = 70 448 Top = 90
447 Width = 187 449 Width = 240
448 MaxLength = 255 450 MaxLength = 255
449 OnChange = InstrumentNameEditChange 451 OnChange = InstrumentNameEditChange
450 ParentFont = False 452 ParentFont = False
451 TabOrder = 1 453 TabOrder = 1
452 end 454 end
453 object Label3: TLabel 455 object Label3: TLabel
454 Left = 8 456 Left = 10
455 Height = 15 457 Height = 22
456 Top = 16 458 Top = 20
457 Width = 44 459 Width = 63
458 Caption = 'Channel' 460 Caption = 'Channel'
459 Font.Style = [fsBold] 461 Font.Style = [fsBold]
460 ParentColor = False 462 ParentColor = False
461 ParentFont = False 463 ParentFont = False
462 end 464 end
463 object InstrumentTypeCombobox: TComboBox 465 object InstrumentTypeCombobox: TComboBox
464 Left = 80 466 Left = 102
465 Height = 23 467 Height = 30
466 Hint = 'What type of channel this instrument will be played on' 468 Hint = 'What type of channel this instrument will be played on'
467 Top = 8 469 Top = 10
468 Width = 185 470 Width = 237
469 ItemHeight = 15 471 ItemHeight = 0
470 ItemIndex = 0 472 ItemIndex = 0
471 Items.Strings = ( 473 Items.Strings = (
472 'Square' 474 'Square'
@@ -480,33 +482,33 @@ object frmTracker: TfrmTracker
480 Text = 'Square' 482 Text = 'Square'
481 end 483 end
482 object LengthEnabledCheckbox: TCheckBox 484 object LengthEnabledCheckbox: TCheckBox
483 Left = 12 485 Left = 15
484 Height = 19 486 Height = 24
485 Hint = 'Cut the sound after a certain length of time' 487 Hint = 'Cut the sound after a certain length of time'
486 Top = 118 488 Top = 151
487 Width = 57 489 Width = 75
488 Caption = 'Length' 490 Caption = 'Length'
489 OnChange = LengthEnabledCheckboxChange 491 OnChange = LengthEnabledCheckboxChange
490 ParentFont = False 492 ParentFont = False
491 TabOrder = 3 493 TabOrder = 3
492 end 494 end
493 object InstrumentImportButton: TButton 495 object InstrumentImportButton: TButton
494 Left = 12 496 Left = 15
495 Height = 25 497 Height = 32
496 Hint = 'Import an instrument' 498 Hint = 'Import an instrument'
497 Top = 216 499 Top = 277
498 Width = 116 500 Width = 149
499 Caption = 'Import' 501 Caption = 'Import'
500 OnClick = InstrumentImportButtonClick 502 OnClick = InstrumentImportButtonClick
501 ParentFont = False 503 ParentFont = False
502 TabOrder = 4 504 TabOrder = 4
503 end 505 end
504 object InstrumentExportButton: TButton 506 object InstrumentExportButton: TButton
505 Left = 149 507 Left = 191
506 Height = 25 508 Height = 32
507 Hint = 'Export an instrument' 509 Hint = 'Export an instrument'
508 Top = 216 510 Top = 277
509 Width = 116 511 Width = 149
510 Caption = 'Export' 512 Caption = 'Export'
511 OnClick = InstrumentExportButtonClick 513 OnClick = InstrumentExportButtonClick
512 ParentFont = False 514 ParentFont = False
@@ -514,21 +516,21 @@ object frmTracker: TfrmTracker
514 end 516 end
515 object TestOctave5Button: TButton 517 object TestOctave5Button: TButton
516 Tag = 5 518 Tag = 5
517 Left = 142 519 Left = 182
518 Height = 25 520 Height = 32
519 Hint = 'Test out the instrument with a C-5 note' 521 Hint = 'Test out the instrument with a C-5 note'
520 Top = 146 522 Top = 187
521 Width = 27 523 Width = 35
522 Caption = '5' 524 Caption = '5'
523 OnClick = TestOctaveButtonClick 525 OnClick = TestOctaveButtonClick
524 ParentFont = False 526 ParentFont = False
525 TabOrder = 6 527 TabOrder = 6
526 end 528 end
527 object LengthTrackbar: TTrackBar 529 object LengthTrackbar: TTrackBar
528 Left = 76 530 Left = 97
529 Height = 25 531 Height = 55
530 Top = 112 532 Top = 144
531 Width = 189 533 Width = 242
532 Max = 63 534 Max = 63
533 OnChange = LengthSpinnerChange 535 OnChange = LengthSpinnerChange
534 Position = 0 536 Position = 0
@@ -537,21 +539,21 @@ object frmTracker: TfrmTracker
537 TabOrder = 7 539 TabOrder = 7
538 end 540 end
539 object Label14: TLabel 541 object Label14: TLabel
540 Left = 12 542 Left = 15
541 Height = 15 543 Height = 22
542 Top = 152 544 Top = 195
543 Width = 61 545 Width = 85
544 Caption = 'Test octave:' 546 Caption = 'Test octave:'
545 ParentColor = False 547 ParentColor = False
546 ParentFont = False 548 ParentFont = False
547 end 549 end
548 object TestOctave5Button1: TButton 550 object TestOctave5Button1: TButton
549 Tag = 4 551 Tag = 4
550 Left = 110 552 Left = 141
551 Height = 25 553 Height = 32
552 Hint = 'Test out the instrument with a C-4 note' 554 Hint = 'Test out the instrument with a C-4 note'
553 Top = 146 555 Top = 187
554 Width = 27 556 Width = 35
555 Caption = '4' 557 Caption = '4'
556 OnClick = TestOctaveButtonClick 558 OnClick = TestOctaveButtonClick
557 ParentFont = False 559 ParentFont = False
@@ -559,11 +561,11 @@ object frmTracker: TfrmTracker
559 end 561 end
560 object TestOctave5Button2: TButton 562 object TestOctave5Button2: TButton
561 Tag = 3 563 Tag = 3
562 Left = 78 564 Left = 100
563 Height = 25 565 Height = 32
564 Hint = 'Test out the instrument with a C-3 note' 566 Hint = 'Test out the instrument with a C-3 note'
565 Top = 146 567 Top = 187
566 Width = 27 568 Width = 35
567 Caption = '3' 569 Caption = '3'
568 OnClick = TestOctaveButtonClick 570 OnClick = TestOctaveButtonClick
569 ParentFont = False 571 ParentFont = False
@@ -571,11 +573,11 @@ object frmTracker: TfrmTracker
571 end 573 end
572 object TestOctave5Button3: TButton 574 object TestOctave5Button3: TButton
573 Tag = 6 575 Tag = 6
574 Left = 174 576 Left = 223
575 Height = 25 577 Height = 32
576 Hint = 'Test out the instrument with a C-6 note' 578 Hint = 'Test out the instrument with a C-6 note'
577 Top = 146 579 Top = 187
578 Width = 27 580 Width = 35
579 Caption = '6' 581 Caption = '6'
580 OnClick = TestOctaveButtonClick 582 OnClick = TestOctaveButtonClick
581 ParentFont = False 583 ParentFont = False
@@ -583,11 +585,11 @@ object frmTracker: TfrmTracker
583 end 585 end
584 object TestOctave5Button4: TButton 586 object TestOctave5Button4: TButton
585 Tag = 7 587 Tag = 7
586 Left = 206 588 Left = 264
587 Height = 25 589 Height = 32
588 Hint = 'Test out the instrument with a C-7 note' 590 Hint = 'Test out the instrument with a C-7 note'
589 Top = 146 591 Top = 187
590 Width = 27 592 Width = 35
591 Caption = '7' 593 Caption = '7'
592 OnClick = TestOctaveButtonClick 594 OnClick = TestOctaveButtonClick
593 ParentFont = False 595 ParentFont = False
@@ -595,66 +597,66 @@ object frmTracker: TfrmTracker
595 end 597 end
596 object TestOctave5Button5: TButton 598 object TestOctave5Button5: TButton
597 Tag = 8 599 Tag = 8
598 Left = 238 600 Left = 305
599 Height = 25 601 Height = 32
600 Hint = 'Test out the instrument with a C-8 note' 602 Hint = 'Test out the instrument with a C-8 note'
601 Top = 146 603 Top = 187
602 Width = 27 604 Width = 35
603 Caption = '8' 605 Caption = '8'
604 OnClick = TestOctaveButtonClick 606 OnClick = TestOctaveButtonClick
605 ParentFont = False 607 ParentFont = False
606 TabOrder = 12 608 TabOrder = 12
607 end 609 end
608 object EnableSubpatternCheckbox: TCheckBox 610 object EnableSubpatternCheckbox: TCheckBox
609 Left = 12 611 Left = 15
610 Height = 19 612 Height = 24
611 Top = 184 613 Top = 236
612 Width = 115 614 Width = 158
613 Caption = 'Enable subpattern' 615 Caption = 'Enable subpattern'
614 OnChange = EnableSubpatternCheckboxChange 616 OnChange = EnableSubpatternCheckboxChange
615 TabOrder = 13 617 TabOrder = 13
616 end 618 end
617 end 619 end
618 object EnvelopeGroupBox: TGroupBox 620 object EnvelopeGroupBox: TGroupBox
619 Left = 301 621 Left = 386
620 Height = 136 622 Height = 174
621 Top = 7 623 Top = 9
622 Width = 582 624 Width = 746
623 Anchors = [] 625 Anchors = []
624 BorderSpacing.Left = 7 626 BorderSpacing.Left = 9
625 BorderSpacing.Top = 7 627 BorderSpacing.Top = 9
626 BorderSpacing.Right = 7 628 BorderSpacing.Right = 9
627 BorderSpacing.Bottom = 7 629 BorderSpacing.Bottom = 9
628 Caption = 'Envelope' 630 Caption = 'Envelope'
629 ClientHeight = 116 631 ClientHeight = 170
630 ClientWidth = 578 632 ClientWidth = 742
631 ParentFont = False 633 ParentFont = False
632 TabOrder = 1 634 TabOrder = 1
633 object Label4: TLabel 635 object Label4: TLabel
634 Left = 8 636 Left = 10
635 Height = 15 637 Height = 22
636 Top = 16 638 Top = 20
637 Width = 46 639 Width = 64
638 Caption = 'Start vol.' 640 Caption = 'Start vol.'
639 ParentColor = False 641 ParentColor = False
640 ParentFont = False 642 ParentFont = False
641 end 643 end
642 object Label5: TLabel 644 object Label5: TLabel
643 Left = 8 645 Left = 10
644 Height = 15 646 Height = 22
645 Top = 54 647 Top = 69
646 Width = 48 648 Width = 66
647 Caption = 'Direction' 649 Caption = 'Direction'
648 ParentColor = False 650 ParentColor = False
649 ParentFont = False 651 ParentFont = False
650 end 652 end
651 object DirectionComboBox: TComboBox 653 object DirectionComboBox: TComboBox
652 Left = 82 654 Left = 105
653 Height = 23 655 Height = 30
654 Hint = 'Whether to fade the sound in or out' 656 Hint = 'Whether to fade the sound in or out'
655 Top = 46 657 Top = 59
656 Width = 198 658 Width = 254
657 ItemHeight = 15 659 ItemHeight = 0
658 ItemIndex = 1 660 ItemIndex = 1
659 Items.Strings = ( 661 Items.Strings = (
660 'Up' 662 'Up'
@@ -667,40 +669,40 @@ object frmTracker: TfrmTracker
667 Text = 'Down' 669 Text = 'Down'
668 end 670 end
669 object Label6: TLabel 671 object Label6: TLabel
670 Left = 8 672 Left = 10
671 Height = 15 673 Height = 22
672 Top = 90 674 Top = 115
673 Width = 41 675 Width = 57
674 Caption = 'Change' 676 Caption = 'Change'
675 ParentColor = False 677 ParentColor = False
676 ParentFont = False 678 ParentFont = False
677 end 679 end
678 object Panel5: TPanel 680 object Panel5: TPanel
679 Left = 300 681 Left = 384
680 Height = 104 682 Height = 133
681 Top = 0 683 Top = 0
682 Width = 270 684 Width = 346
683 BevelOuter = bvLowered 685 BevelOuter = bvLowered
684 ClientHeight = 104 686 ClientHeight = 129
685 ClientWidth = 270 687 ClientWidth = 342
686 ParentFont = False 688 ParentFont = False
687 TabOrder = 1 689 TabOrder = 1
688 object EnvelopePaintbox: TPaintBox 690 object EnvelopePaintbox: TPaintBox
689 Left = 1 691 Left = 1
690 Height = 102 692 Height = 127
691 Hint = 'Preview of the volume envelope' 693 Hint = 'Preview of the volume envelope'
692 Top = 1 694 Top = 1
693 Width = 268 695 Width = 340
694 Align = alClient 696 Align = alClient
695 ParentFont = False 697 ParentFont = False
696 OnPaint = EnvelopePaintboxPaint 698 OnPaint = EnvelopePaintboxPaint
697 end 699 end
698 end 700 end
699 object StartVolTrackbar: TTrackBar 701 object StartVolTrackbar: TTrackBar
700 Left = 82 702 Left = 105
701 Height = 25 703 Height = 55
702 Top = 8 704 Top = 10
703 Width = 196 705 Width = 251
704 Max = 15 706 Max = 15
705 OnChange = StartVolSpinnerChange 707 OnChange = StartVolSpinnerChange
706 Position = 0 708 Position = 0
@@ -708,10 +710,10 @@ object frmTracker: TfrmTracker
708 TabOrder = 2 710 TabOrder = 2
709 end 711 end
710 object EnvChangeTrackbar: TTrackBar 712 object EnvChangeTrackbar: TTrackBar
711 Left = 82 713 Left = 105
712 Height = 25 714 Height = 55
713 Top = 82 715 Top = 105
714 Width = 196 716 Width = 251
715 Max = 7 717 Max = 7
716 OnChange = EnvChangeSpinnerChange 718 OnChange = EnvChangeSpinnerChange
717 Position = 0 719 Position = 0
@@ -720,36 +722,36 @@ object frmTracker: TfrmTracker
720 end 722 end
721 end 723 end
722 object SquareGroupBox: TGroupBox 724 object SquareGroupBox: TGroupBox
723 Left = 7 725 Left = 9
724 Height = 169 726 Height = 217
725 Top = 294 727 Top = 377
726 Width = 319 728 Width = 409
727 Anchors = [] 729 Anchors = []
728 BorderSpacing.Left = 7 730 BorderSpacing.Left = 9
729 BorderSpacing.Top = 7 731 BorderSpacing.Top = 9
730 BorderSpacing.Right = 7 732 BorderSpacing.Right = 9
731 BorderSpacing.Bottom = 7 733 BorderSpacing.Bottom = 9
732 Caption = 'Square' 734 Caption = 'Square'
733 ClientHeight = 149 735 ClientHeight = 213
734 ClientWidth = 315 736 ClientWidth = 405
735 ParentFont = False 737 ParentFont = False
736 TabOrder = 2 738 TabOrder = 2
737 object Label7: TLabel 739 object Label7: TLabel
738 Left = 8 740 Left = 10
739 Height = 15 741 Height = 22
740 Top = 16 742 Top = 20
741 Width = 61 743 Width = 84
742 Caption = 'Sweep time' 744 Caption = 'Sweep time'
743 ParentColor = False 745 ParentColor = False
744 ParentFont = False 746 ParentFont = False
745 end 747 end
746 object SweepTimeCombobox: TComboBox 748 object SweepTimeCombobox: TComboBox
747 Left = 104 749 Left = 133
748 Height = 23 750 Height = 30
749 Hint = 'How long to sweep' 751 Hint = 'How long to sweep'
750 Top = 8 752 Top = 10
751 Width = 200 753 Width = 256
752 ItemHeight = 15 754 ItemHeight = 0
753 ItemIndex = 0 755 ItemIndex = 0
754 Items.Strings = ( 756 Items.Strings = (
755 'Off - no frequency change' 757 'Off - no frequency change'
@@ -770,12 +772,12 @@ object frmTracker: TfrmTracker
770 Text = 'Off - no frequency change' 772 Text = 'Off - no frequency change'
771 end 773 end
772 object SweepDirectionCombobox: TComboBox 774 object SweepDirectionCombobox: TComboBox
773 Left = 104 775 Left = 133
774 Height = 23 776 Height = 30
775 Hint = 'The direction of the sweep' 777 Hint = 'The direction of the sweep'
776 Top = 40 778 Top = 51
777 Width = 200 779 Width = 256
778 ItemHeight = 15 780 ItemHeight = 0
779 ItemIndex = 1 781 ItemIndex = 1
780 Items.Strings = ( 782 Items.Strings = (
781 'Up' 783 'Up'
@@ -790,39 +792,39 @@ object frmTracker: TfrmTracker
790 Text = 'Down' 792 Text = 'Down'
791 end 793 end
792 object Label8: TLabel 794 object Label8: TLabel
793 Left = 8 795 Left = 10
794 Height = 15 796 Height = 22
795 Top = 48 797 Top = 62
796 Width = 84 798 Width = 115
797 Caption = 'Sweep direction' 799 Caption = 'Sweep direction'
798 ParentColor = False 800 ParentColor = False
799 ParentFont = False 801 ParentFont = False
800 end 802 end
801 object Label9: TLabel 803 object Label9: TLabel
802 Left = 8 804 Left = 10
803 Height = 15 805 Height = 22
804 Top = 88 806 Top = 113
805 Width = 56 807 Width = 78
806 Caption = 'Sweep size' 808 Caption = 'Sweep size'
807 ParentColor = False 809 ParentColor = False
808 ParentFont = False 810 ParentFont = False
809 end 811 end
810 object Label10: TLabel 812 object Label10: TLabel
811 Left = 8 813 Left = 10
812 Height = 15 814 Height = 22
813 Top = 120 815 Top = 154
814 Width = 25 816 Width = 35
815 Caption = 'Duty' 817 Caption = 'Duty'
816 ParentColor = False 818 ParentColor = False
817 ParentFont = False 819 ParentFont = False
818 end 820 end
819 object DutyCombobox: TComboBox 821 object DutyCombobox: TComboBox
820 Left = 104 822 Left = 133
821 Height = 23 823 Height = 30
822 Hint = 'Which duty cycle to use (changes timbre of wave)' 824 Hint = 'Which duty cycle to use (changes timbre of wave)'
823 Top = 112 825 Top = 144
824 Width = 200 826 Width = 256
825 ItemHeight = 15 827 ItemHeight = 0
826 ItemIndex = 2 828 ItemIndex = 2
827 Items.Strings = ( 829 Items.Strings = (
828 '12.5%' 830 '12.5%'
@@ -839,10 +841,10 @@ object frmTracker: TfrmTracker
839 Text = '50% (square)' 841 Text = '50% (square)'
840 end 842 end
841 object SweepSizeTrackbar: TTrackBar 843 object SweepSizeTrackbar: TTrackBar
842 Left = 105 844 Left = 135
843 Height = 25 845 Height = 55
844 Top = 80 846 Top = 102
845 Width = 196 847 Width = 251
846 Max = 7 848 Max = 7
847 OnChange = SweepSizeSpinnerChange 849 OnChange = SweepSizeSpinnerChange
848 Position = 0 850 Position = 0
@@ -851,45 +853,45 @@ object frmTracker: TfrmTracker
851 end 853 end
852 end 854 end
853 object WaveGroupBox: TGroupBox 855 object WaveGroupBox: TGroupBox
854 Left = 340 856 Left = 436
855 Height = 169 857 Height = 217
856 Top = 294 858 Top = 377
857 Width = 297 859 Width = 381
858 Anchors = [] 860 Anchors = []
859 BorderSpacing.Left = 7 861 BorderSpacing.Left = 9
860 BorderSpacing.Top = 7 862 BorderSpacing.Top = 9
861 BorderSpacing.Right = 7 863 BorderSpacing.Right = 9
862 BorderSpacing.Bottom = 7 864 BorderSpacing.Bottom = 9
863 Caption = 'Wave' 865 Caption = 'Wave'
864 ClientHeight = 149 866 ClientHeight = 213
865 ClientWidth = 293 867 ClientWidth = 377
866 ParentFont = False 868 ParentFont = False
867 TabOrder = 3 869 TabOrder = 3
868 object Label11: TLabel 870 object Label11: TLabel
869 Left = 8 871 Left = 10
870 Height = 15 872 Height = 22
871 Top = 16 873 Top = 20
872 Width = 40 874 Width = 55
873 Caption = 'Volume' 875 Caption = 'Volume'
874 ParentColor = False 876 ParentColor = False
875 ParentFont = False 877 ParentFont = False
876 end 878 end
877 object Label12: TLabel 879 object Label12: TLabel
878 Left = 8 880 Left = 10
879 Height = 15 881 Height = 22
880 Top = 48 882 Top = 62
881 Width = 55 883 Width = 74
882 Caption = 'Waveform' 884 Caption = 'Waveform'
883 ParentColor = False 885 ParentColor = False
884 ParentFont = False 886 ParentFont = False
885 end 887 end
886 object WaveformCombobox: TComboBox 888 object WaveformCombobox: TComboBox
887 Left = 104 889 Left = 133
888 Height = 23 890 Height = 30
889 Hint = 'Which waveform is associated with this instrument' 891 Hint = 'Which waveform is associated with this instrument'
890 Top = 40 892 Top = 51
891 Width = 176 893 Width = 226
892 ItemHeight = 15 894 ItemHeight = 0
893 ItemIndex = 0 895 ItemIndex = 0
894 Items.Strings = ( 896 Items.Strings = (
895 'Wave #0' 897 'Wave #0'
@@ -916,21 +918,21 @@ object frmTracker: TfrmTracker
916 Text = 'Wave #0' 918 Text = 'Wave #0'
917 end 919 end
918 object Panel4: TPanel 920 object Panel4: TPanel
919 Left = 8 921 Left = 10
920 Height = 59 922 Height = 76
921 Top = 80 923 Top = 102
922 Width = 272 924 Width = 348
923 BevelOuter = bvLowered 925 BevelOuter = bvLowered
924 ClientHeight = 59 926 ClientHeight = 72
925 ClientWidth = 272 927 ClientWidth = 344
926 ParentFont = False 928 ParentFont = False
927 TabOrder = 1 929 TabOrder = 1
928 object WavePaintbox: TPaintBox 930 object WavePaintbox: TPaintBox
929 Left = 1 931 Left = 1
930 Height = 57 932 Height = 70
931 Hint = 'Preview of the waveform associated with this instrument' 933 Hint = 'Preview of the waveform associated with this instrument'
932 Top = 1 934 Top = 1
933 Width = 270 935 Width = 342
934 Align = alClient 936 Align = alClient
935 Color = clBlack 937 Color = clBlack
936 ParentColor = False 938 ParentColor = False
@@ -939,12 +941,12 @@ object frmTracker: TfrmTracker
939 end 941 end
940 end 942 end
941 object WaveVolumeCombobox: TComboBox 943 object WaveVolumeCombobox: TComboBox
942 Left = 104 944 Left = 133
943 Height = 23 945 Height = 30
944 Hint = 'The initial volume of the wave' 946 Hint = 'The initial volume of the wave'
945 Top = 8 947 Top = 10
946 Width = 176 948 Width = 226
947 ItemHeight = 15 949 ItemHeight = 0
948 ItemIndex = 1 950 ItemIndex = 1
949 Items.Strings = ( 951 Items.Strings = (
950 'Mute (No sound)' 952 'Mute (No sound)'
@@ -960,26 +962,26 @@ object frmTracker: TfrmTracker
960 end 962 end
961 end 963 end
962 object NoiseGroupBox: TGroupBox 964 object NoiseGroupBox: TGroupBox
963 Left = 651 965 Left = 835
964 Height = 59 966 Height = 76
965 Top = 294 967 Top = 377
966 Width = 237 968 Width = 304
967 Anchors = [] 969 Anchors = []
968 BorderSpacing.Left = 7 970 BorderSpacing.Left = 9
969 BorderSpacing.Top = 7 971 BorderSpacing.Top = 9
970 BorderSpacing.Right = 7 972 BorderSpacing.Right = 9
971 BorderSpacing.Bottom = 7 973 BorderSpacing.Bottom = 9
972 Caption = 'Noise' 974 Caption = 'Noise'
973 ClientHeight = 39 975 ClientHeight = 52
974 ClientWidth = 233 976 ClientWidth = 300
975 ParentFont = False 977 ParentFont = False
976 TabOrder = 4 978 TabOrder = 4
977 object SevenBitCounterCheckbox: TCheckBox 979 object SevenBitCounterCheckbox: TCheckBox
978 Left = 8 980 Left = 10
979 Height = 19 981 Height = 24
980 Hint = 'Select LFSR width. When checked, output will sound like a tone rather than noise' 982 Hint = 'Select LFSR width. When checked, output will sound like a tone rather than noise'
981 Top = 8 983 Top = 10
982 Width = 215 984 Width = 290
983 Alignment = taLeftJustify 985 Alignment = taLeftJustify
984 Caption = '7 bit counter (more tone-like output)' 986 Caption = '7 bit counter (more tone-like output)'
985 OnChange = SevenBitCounterCheckboxChange 987 OnChange = SevenBitCounterCheckboxChange
@@ -989,46 +991,46 @@ object frmTracker: TfrmTracker
989 end 991 end
990 end 992 end
991 object SubpatternGroupBox: TGroupBox 993 object SubpatternGroupBox: TGroupBox
992 Left = 935 994 Left = 1203
993 Height = 652 995 Height = 832
994 Top = 7 996 Top = 9
995 Width = 160 997 Width = 205
996 Align = alRight 998 Align = alRight
997 Anchors = [] 999 Anchors = []
998 BorderSpacing.Top = 7 1000 BorderSpacing.Top = 9
999 Caption = 'Subpattern' 1001 Caption = 'Subpattern'
1000 ClientHeight = 632 1002 ClientHeight = 808
1001 ClientWidth = 156 1003 ClientWidth = 201
1002 TabOrder = 1 1004 TabOrder = 1
1003 object ScrollBox2: TScrollBox 1005 object ScrollBox2: TScrollBox
1004 Left = 0 1006 Left = 0
1005 Height = 632 1007 Height = 808
1006 Top = 0 1008 Top = 0
1007 Width = 156 1009 Width = 201
1008 HorzScrollBar.Increment = 3 1010 HorzScrollBar.Increment = 4
1009 HorzScrollBar.Page = 32 1011 HorzScrollBar.Page = 41
1010 HorzScrollBar.Smooth = True 1012 HorzScrollBar.Smooth = True
1011 HorzScrollBar.Tracking = True 1013 HorzScrollBar.Tracking = True
1012 VertScrollBar.Increment = 5 1014 VertScrollBar.Increment = 6
1013 VertScrollBar.Page = 50 1015 VertScrollBar.Page = 64
1014 VertScrollBar.Smooth = True 1016 VertScrollBar.Smooth = True
1015 VertScrollBar.Tracking = True 1017 VertScrollBar.Tracking = True
1016 Align = alClient 1018 Align = alClient
1017 BorderStyle = bsNone 1019 BorderStyle = bsNone
1018 ClientHeight = 632 1020 ClientHeight = 808
1019 ClientWidth = 156 1021 ClientWidth = 201
1020 TabOrder = 0 1022 TabOrder = 0
1021 OnMouseWheelDown = ScrollBox1MouseWheelDown 1023 OnMouseWheelDown = ScrollBox1MouseWheelDown
1022 OnMouseWheelUp = ScrollBox1MouseWheelUp 1024 OnMouseWheelUp = ScrollBox1MouseWheelUp
1023 object RowNumberStringGrid1: TStringGrid 1025 object RowNumberStringGrid1: TStringGrid
1024 Left = 124 1026 Left = 160
1025 Height = 632 1027 Height = 808
1026 Top = 0 1028 Top = 0
1027 Width = 32 1029 Width = 41
1028 Align = alRight 1030 Align = alRight
1029 BorderStyle = bsNone 1031 BorderStyle = bsNone
1030 ColCount = 1 1032 ColCount = 1
1031 DefaultColWidth = 32 1033 DefaultColWidth = 41
1032 Enabled = False 1034 Enabled = False
1033 ParentFont = False 1035 ParentFont = False
1034 RowCount = 32 1036 RowCount = 32
@@ -1040,19 +1042,19 @@ object frmTracker: TfrmTracker
1040 end 1042 end
1041 object WavesTabSheet: TTabSheet 1043 object WavesTabSheet: TTabSheet
1042 Caption = 'Waves' 1044 Caption = 'Waves'
1043 ClientHeight = 659 1045 ClientHeight = 841
1044 ClientWidth = 1095 1046 ClientWidth = 1408
1045 ParentFont = False 1047 ParentFont = False
1046 object WaveEditPaintBox: TPaintBox 1048 object WaveEditPaintBox: TPaintBox
1047 AnchorSideTop.Control = WaveEditGroupBox 1049 AnchorSideTop.Control = WaveEditGroupBox
1048 AnchorSideTop.Side = asrBottom 1050 AnchorSideTop.Side = asrBottom
1049 Left = 0 1051 Left = 0
1050 Height = 499 1052 Height = 636
1051 Top = 160 1053 Top = 205
1052 Width = 1095 1054 Width = 1408
1053 Align = alBottom 1055 Align = alBottom
1054 Anchors = [akTop, akLeft, akRight, akBottom] 1056 Anchors = [akTop, akLeft, akRight, akBottom]
1055 BorderSpacing.Top = 13 1057 BorderSpacing.Top = 17
1056 ParentFont = False 1058 ParentFont = False
1057 PopupMenu = WaveEditPopup 1059 PopupMenu = WaveEditPopup
1058 OnMouseDown = WaveEditPaintBoxMouseDown 1060 OnMouseDown = WaveEditPaintBoxMouseDown
@@ -1061,61 +1063,61 @@ object frmTracker: TfrmTracker
1061 OnPaint = WaveEditPaintBoxPaint 1063 OnPaint = WaveEditPaintBoxPaint
1062 end 1064 end
1063 object WaveEditGroupBox: TGroupBox 1065 object WaveEditGroupBox: TGroupBox
1064 Left = 8 1066 Left = 10
1065 Height = 139 1067 Height = 178
1066 Top = 8 1068 Top = 10
1067 Width = 568 1069 Width = 728
1068 Caption = 'Wave Editor' 1070 Caption = 'Wave Editor'
1069 ClientHeight = 119 1071 ClientHeight = 174
1070 ClientWidth = 564 1072 ClientWidth = 724
1071 ParentFont = False 1073 ParentFont = False
1072 TabOrder = 0 1074 TabOrder = 0
1073 object Label20: TLabel 1075 object Label20: TLabel
1074 Left = 16 1076 Left = 20
1075 Height = 15 1077 Height = 22
1076 Top = 16 1078 Top = 20
1077 Width = 29 1079 Width = 40
1078 Caption = 'Wave' 1080 Caption = 'Wave'
1079 ParentColor = False 1081 ParentColor = False
1080 ParentFont = False 1082 ParentFont = False
1081 end 1083 end
1082 object WaveEditNumberSpinner: TSpinEdit 1084 object WaveEditNumberSpinner: TSpinEdit
1083 Left = 64 1085 Left = 82
1084 Height = 23 1086 Height = 32
1085 Top = 8 1087 Top = 10
1086 Width = 80 1088 Width = 102
1087 MaxValue = 15 1089 MaxValue = 15
1088 OnChange = WaveEditNumberSpinnerChange 1090 OnChange = WaveEditNumberSpinnerChange
1089 ParentFont = False 1091 ParentFont = False
1090 TabOrder = 0 1092 TabOrder = 0
1091 end 1093 end
1092 object ImportWaveButton: TButton 1094 object ImportWaveButton: TButton
1093 Left = 16 1095 Left = 20
1094 Height = 25 1096 Height = 32
1095 Hint = 'Import a wave' 1097 Hint = 'Import a wave'
1096 Top = 48 1098 Top = 62
1097 Width = 147 1099 Width = 188
1098 Caption = 'Import' 1100 Caption = 'Import'
1099 OnClick = ImportWaveButtonClick 1101 OnClick = ImportWaveButtonClick
1100 ParentFont = False 1102 ParentFont = False
1101 TabOrder = 1 1103 TabOrder = 1
1102 end 1104 end
1103 object ExportWaveButton: TButton 1105 object ExportWaveButton: TButton
1104 Left = 16 1106 Left = 20
1105 Height = 25 1107 Height = 32
1106 Hint = 'Export a wave' 1108 Hint = 'Export a wave'
1107 Top = 80 1109 Top = 102
1108 Width = 147 1110 Width = 188
1109 Caption = 'Export' 1111 Caption = 'Export'
1110 OnClick = ExportWaveButtonClick 1112 OnClick = ExportWaveButtonClick
1111 ParentFont = False 1113 ParentFont = False
1112 TabOrder = 2 1114 TabOrder = 2
1113 end 1115 end
1114 object HexWaveEdit: TEdit 1116 object HexWaveEdit: TEdit
1115 Left = 288 1117 Left = 369
1116 Height = 23 1118 Height = 32
1117 Top = 8 1119 Top = 10
1118 Width = 264 1120 Width = 338
1119 MaxLength = 32 1121 MaxLength = 32
1120 OnChange = HexWaveEditEditingDone 1122 OnChange = HexWaveEditEditingDone
1121 OnEditingDone = HexWaveEditEditingDone 1123 OnEditingDone = HexWaveEditEditingDone
@@ -1123,19 +1125,19 @@ object frmTracker: TfrmTracker
1123 TabOrder = 3 1125 TabOrder = 3
1124 end 1126 end
1125 object Label13: TLabel 1127 object Label13: TLabel
1126 Left = 176 1128 Left = 226
1127 Height = 15 1129 Height = 22
1128 Top = 16 1130 Top = 20
1129 Width = 100 1131 Width = 140
1130 Caption = 'Hex representation' 1132 Caption = 'Hex representation'
1131 ParentColor = False 1133 ParentColor = False
1132 ParentFont = False 1134 ParentFont = False
1133 end 1135 end
1134 object PlayWaveWhileDrawingCheckbox: TCheckBox 1136 object PlayWaveWhileDrawingCheckbox: TCheckBox
1135 Left = 176 1137 Left = 226
1136 Height = 19 1138 Height = 24
1137 Top = 40 1139 Top = 51
1138 Width = 149 1140 Width = 201
1139 Caption = 'Play wave while drawing' 1141 Caption = 'Play wave while drawing'
1140 ParentFont = False 1142 ParentFont = False
1141 TabOrder = 4 1143 TabOrder = 4
@@ -1144,30 +1146,30 @@ object frmTracker: TfrmTracker
1144 end 1146 end
1145 object CommentsTabSheet: TTabSheet 1147 object CommentsTabSheet: TTabSheet
1146 Caption = 'Comments' 1148 Caption = 'Comments'
1147 ClientHeight = 659 1149 ClientHeight = 841
1148 ClientWidth = 1095 1150 ClientWidth = 1408
1149 ParentFont = False 1151 ParentFont = False
1150 object CommentMemo: TMemo 1152 object CommentMemo: TMemo
1151 AnchorSideTop.Control = Label17 1153 AnchorSideTop.Control = Label17
1152 AnchorSideTop.Side = asrBottom 1154 AnchorSideTop.Side = asrBottom
1153 Left = 0 1155 Left = 0
1154 Height = 623 1156 Height = 792
1155 Hint = 'The comments section for your song. Greetings/links/etc' 1157 Hint = 'The comments section for your song. Greetings/links/etc'
1156 Top = 36 1158 Top = 49
1157 Width = 1095 1159 Width = 1408
1158 Align = alBottom 1160 Align = alBottom
1159 Anchors = [akTop, akLeft, akRight, akBottom] 1161 Anchors = [akTop, akLeft, akRight, akBottom]
1160 BorderSpacing.Top = 13 1162 BorderSpacing.Top = 17
1161 MaxLength = 255 1163 MaxLength = 255
1162 OnChange = CommentMemoChange 1164 OnChange = CommentMemoChange
1163 ParentFont = False 1165 ParentFont = False
1164 TabOrder = 0 1166 TabOrder = 0
1165 end 1167 end
1166 object Label17: TLabel 1168 object Label17: TLabel
1167 Left = 8 1169 Left = 10
1168 Height = 15 1170 Height = 22
1169 Top = 8 1171 Top = 10
1170 Width = 333 1172 Width = 463
1171 Caption = 'This is an area to write comments for anyone editing your tune.' 1173 Caption = 'This is an area to write comments for anyone editing your tune.'
1172 ParentColor = False 1174 ParentColor = False
1173 ParentFont = False 1175 ParentFont = False
@@ -1175,27 +1177,27 @@ object frmTracker: TfrmTracker
1175 end 1177 end
1176 object RoutinesTabSheet: TTabSheet 1178 object RoutinesTabSheet: TTabSheet
1177 Caption = 'Routines' 1179 Caption = 'Routines'
1178 ClientHeight = 659 1180 ClientHeight = 841
1179 ClientWidth = 1095 1181 ClientWidth = 1408
1180 ParentFont = False 1182 ParentFont = False
1181 inline RoutineSynedit: TSynEdit 1183 inline RoutineSynedit: TSynEdit
1182 AnchorSideTop.Control = Label19 1184 AnchorSideTop.Control = Label19
1183 AnchorSideTop.Side = asrBottom 1185 AnchorSideTop.Side = asrBottom
1184 Left = 0 1186 Left = 0
1185 Height = 531 1187 Height = 685
1186 Top = 128 1188 Top = 156
1187 Width = 1095 1189 Width = 1408
1188 Align = alBottom 1190 Align = alBottom
1189 BorderSpacing.Top = 13 1191 BorderSpacing.Top = 17
1190 Anchors = [akTop, akLeft, akRight, akBottom] 1192 Anchors = [akTop, akLeft, akRight, akBottom]
1191 Font.Height = -13 1193 Font.Height = -17
1192 Font.Name = 'Courier New' 1194 Font.Name = 'Courier New'
1193 Font.Pitch = fpFixed 1195 Font.Pitch = fpFixed
1194 Font.Quality = fqNonAntialiased 1196 Font.Quality = fqNonAntialiased
1195 ParentColor = False 1197 ParentColor = False
1196 ParentFont = False 1198 ParentFont = False
1197 TabOrder = 0 1199 TabOrder = 0
1198 Gutter.Width = 57 1200 Gutter.Width = 73
1199 Gutter.MouseActions = <> 1201 Gutter.MouseActions = <>
1200 RightGutter.Width = 0 1202 RightGutter.Width = 0
1201 RightGutter.MouseActions = <> 1203 RightGutter.MouseActions = <>
@@ -1649,11 +1651,11 @@ object frmTracker: TfrmTracker
1649 OnChange = RoutineSyneditChange 1651 OnChange = RoutineSyneditChange
1650 inline SynLeftGutterPartList1: TSynGutterPartList 1652 inline SynLeftGutterPartList1: TSynGutterPartList
1651 object SynGutterMarks1: TSynGutterMarks 1653 object SynGutterMarks1: TSynGutterMarks
1652 Width = 24 1654 Width = 31
1653 MouseActions = <> 1655 MouseActions = <>
1654 end 1656 end
1655 object SynGutterLineNumber1: TSynGutterLineNumber 1657 object SynGutterLineNumber1: TSynGutterLineNumber
1656 Width = 17 1658 Width = 21
1657 MouseActions = <> 1659 MouseActions = <>
1658 MarkupInfo.Background = clBtnFace 1660 MarkupInfo.Background = clBtnFace
1659 MarkupInfo.Foreground = clNone 1661 MarkupInfo.Foreground = clNone
@@ -1663,18 +1665,19 @@ object frmTracker: TfrmTracker
1663 LeadingZeros = False 1665 LeadingZeros = False
1664 end 1666 end
1665 object SynGutterChanges1: TSynGutterChanges 1667 object SynGutterChanges1: TSynGutterChanges
1666 Width = 4 1668 Width = 5
1667 MouseActions = <> 1669 MouseActions = <>
1668 ModifiedColor = 59900 1670 ModifiedColor = 59900
1669 SavedColor = clGreen 1671 SavedColor = clGreen
1670 end 1672 end
1671 object SynGutterSeparator1: TSynGutterSeparator 1673 object SynGutterSeparator1: TSynGutterSeparator
1672 Width = 2 1674 Width = 3
1673 MouseActions = <> 1675 MouseActions = <>
1674 MarkupInfo.Background = clWhite 1676 MarkupInfo.Background = clWhite
1675 MarkupInfo.Foreground = clGray 1677 MarkupInfo.Foreground = clGray
1676 end 1678 end
1677 object SynGutterCodeFolding1: TSynGutterCodeFolding 1679 object SynGutterCodeFolding1: TSynGutterCodeFolding
1680 Width = 13
1678 MouseActions = <> 1681 MouseActions = <>
1679 MarkupInfo.Background = clNone 1682 MarkupInfo.Background = clNone
1680 MarkupInfo.Foreground = clGray 1683 MarkupInfo.Foreground = clGray
@@ -1684,19 +1687,19 @@ object frmTracker: TfrmTracker
1684 end 1687 end
1685 end 1688 end
1686 object Label18: TLabel 1689 object Label18: TLabel
1687 Left = 8 1690 Left = 10
1688 Height = 15 1691 Height = 22
1689 Top = 16 1692 Top = 20
1690 Width = 41 1693 Width = 58
1691 Caption = 'Routine' 1694 Caption = 'Routine'
1692 ParentColor = False 1695 ParentColor = False
1693 ParentFont = False 1696 ParentFont = False
1694 end 1697 end
1695 object RoutineNumberSpinner: TSpinEdit 1698 object RoutineNumberSpinner: TSpinEdit
1696 Left = 64 1699 Left = 82
1697 Height = 23 1700 Height = 32
1698 Top = 8 1701 Top = 10
1699 Width = 176 1702 Width = 226
1700 MaxValue = 15 1703 MaxValue = 15
1701 OnChange = RoutineNumberSpinnerChange 1704 OnChange = RoutineNumberSpinnerChange
1702 ParentFont = False 1705 ParentFont = False
@@ -1704,10 +1707,10 @@ object frmTracker: TfrmTracker
1704 Value = 1 1707 Value = 1
1705 end 1708 end
1706 object Label19: TLabel 1709 object Label19: TLabel
1707 Left = 8 1710 Left = 10
1708 Height = 75 1711 Height = 88
1709 Top = 40 1712 Top = 51
1710 Width = 506 1713 Width = 695
1711 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!' 1714 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!'
1712 ParentColor = False 1715 ParentColor = False
1713 ParentFont = False 1716 ParentFont = False
@@ -1717,21 +1720,21 @@ object frmTracker: TfrmTracker
1717 end 1720 end
1718 object ScopesPanel: TPanel 1721 object ScopesPanel: TPanel
1719 Left = 0 1722 Left = 0
1720 Height = 64 1723 Height = 82
1721 Top = 25 1724 Top = 34
1722 Width = 1301 1725 Width = 1667
1723 Align = alTop 1726 Align = alTop
1724 BevelOuter = bvNone 1727 BevelOuter = bvNone
1725 ClientHeight = 64 1728 ClientHeight = 82
1726 ClientWidth = 1301 1729 ClientWidth = 1667
1727 ParentFont = False 1730 ParentFont = False
1728 TabOrder = 3 1731 TabOrder = 3
1729 object LEDMeter1: TLEDMeter 1732 object LEDMeter1: TLEDMeter
1730 AnchorSideRight.Control = Duty1Visualizer 1733 AnchorSideRight.Control = Duty1Visualizer
1731 Left = 0 1734 Left = 0
1732 Height = 32 1735 Height = 41
1733 Top = 32 1736 Top = 41
1734 Width = 513 1737 Width = 659
1735 Anchors = [akTop, akLeft, akRight] 1738 Anchors = [akTop, akLeft, akRight]
1736 BevelStyle = bvLowered 1739 BevelStyle = bvLowered
1737 Colors.Border = 2168839 1740 Colors.Border = 2168839
@@ -1752,9 +1755,9 @@ object frmTracker: TfrmTracker
1752 object LEDMeter2: TLEDMeter 1755 object LEDMeter2: TLEDMeter
1753 AnchorSideRight.Control = Duty1Visualizer 1756 AnchorSideRight.Control = Duty1Visualizer
1754 Left = 0 1757 Left = 0
1755 Height = 32 1758 Height = 41
1756 Top = 0 1759 Top = 0
1757 Width = 513 1760 Width = 659
1758 Anchors = [akTop, akLeft, akRight] 1761 Anchors = [akTop, akLeft, akRight]
1759 BevelStyle = bvLowered 1762 BevelStyle = bvLowered
1760 Colors.Border = 2168839 1763 Colors.Border = 2168839
@@ -1773,40 +1776,40 @@ object frmTracker: TfrmTracker
1773 Section3Value = 48 1776 Section3Value = 48
1774 end 1777 end
1775 object Duty1Visualizer: TPaintBox 1778 object Duty1Visualizer: TPaintBox
1776 Left = 513 1779 Left = 659
1777 Height = 64 1780 Height = 82
1778 Top = 0 1781 Top = 0
1779 Width = 197 1782 Width = 252
1780 Align = alRight 1783 Align = alRight
1781 ParentFont = False 1784 ParentFont = False
1782 OnClick = Duty1VisualizerClick 1785 OnClick = Duty1VisualizerClick
1783 OnPaint = Duty1VisualizerPaint 1786 OnPaint = Duty1VisualizerPaint
1784 end 1787 end
1785 object Duty2Visualizer: TPaintBox 1788 object Duty2Visualizer: TPaintBox
1786 Left = 710 1789 Left = 911
1787 Height = 64 1790 Height = 82
1788 Top = 0 1791 Top = 0
1789 Width = 197 1792 Width = 252
1790 Align = alRight 1793 Align = alRight
1791 ParentFont = False 1794 ParentFont = False
1792 OnClick = Duty1VisualizerClick 1795 OnClick = Duty1VisualizerClick
1793 OnPaint = Duty2VisualizerPaint 1796 OnPaint = Duty2VisualizerPaint
1794 end 1797 end
1795 object WaveVisualizer: TPaintBox 1798 object WaveVisualizer: TPaintBox
1796 Left = 907 1799 Left = 1163
1797 Height = 64 1800 Height = 82
1798 Top = 0 1801 Top = 0
1799 Width = 197 1802 Width = 252
1800 Align = alRight 1803 Align = alRight
1801 ParentFont = False 1804 ParentFont = False
1802 OnClick = Duty1VisualizerClick 1805 OnClick = Duty1VisualizerClick
1803 OnPaint = WaveVisualizerPaint 1806 OnPaint = WaveVisualizerPaint
1804 end 1807 end
1805 object NoiseVisualizer: TPaintBox 1808 object NoiseVisualizer: TPaintBox
1806 Left = 1104 1809 Left = 1415
1807 Height = 64 1810 Height = 82
1808 Top = 0 1811 Top = 0
1809 Width = 197 1812 Width = 252
1810 Align = alRight 1813 Align = alRight
1811 ParentFont = False 1814 ParentFont = False
1812 OnClick = Duty1VisualizerClick 1815 OnClick = Duty1VisualizerClick
@@ -1815,19 +1818,19 @@ object frmTracker: TfrmTracker
1815 end 1818 end
1816 object StatusBar1: TStatusBar 1819 object StatusBar1: TStatusBar
1817 Left = 0 1820 Left = 0
1818 Height = 23 1821 Height = 26
1819 Top = 776 1822 Top = 997
1820 Width = 1301 1823 Width = 1667
1821 AutoHint = True 1824 AutoHint = True
1822 Panels = < 1825 Panels = <
1823 item 1826 item
1824 Width = 467 1827 Width = 598
1825 end 1828 end
1826 item 1829 item
1827 Width = 200 1830 Width = 256
1828 end 1831 end
1829 item 1832 item
1830 Width = 200 1833 Width = 256
1831 end> 1834 end>
1832 ParentFont = False 1835 ParentFont = False
1833 ParentShowHint = False 1836 ParentShowHint = False
@@ -1836,9 +1839,9 @@ object frmTracker: TfrmTracker
1836 end 1839 end
1837 object ToolBar1: TToolBar 1840 object ToolBar1: TToolBar
1838 Left = 0 1841 Left = 0
1839 Height = 25 1842 Height = 34
1840 Top = 0 1843 Top = 0
1841 Width = 1301 1844 Width = 1667
1842 AutoSize = True 1845 AutoSize = True
1843 Caption = 'ToolBar1' 1846 Caption = 'ToolBar1'
1844 EdgeBorders = [ebBottom] 1847 EdgeBorders = [ebBottom]
@@ -1855,7 +1858,7 @@ object frmTracker: TfrmTracker
1855 ParentShowHint = False 1858 ParentShowHint = False
1856 end 1859 end
1857 object PanicToolButton: TToolButton 1860 object PanicToolButton: TToolButton
1858 Left = 482 1861 Left = 589
1859 Hint = 'Stops all sound output' 1862 Hint = 'Stops all sound output'
1860 Top = 0 1863 Top = 0
1861 AutoSize = True 1864 AutoSize = True
@@ -1866,17 +1869,17 @@ object frmTracker: TfrmTracker
1866 ShowHint = True 1869 ShowHint = True
1867 end 1870 end
1868 object ToolButton2: TToolButton 1871 object ToolButton2: TToolButton
1869 Left = 116 1872 Left = 140
1870 Top = 0 1873 Top = 0
1871 Action = PlayCursorAction 1874 Action = PlayCursorAction
1872 end 1875 end
1873 object ToolButton4: TToolButton 1876 object ToolButton4: TToolButton
1874 Left = 145 1877 Left = 171
1875 Top = 0 1878 Top = 0
1876 Action = StopAction 1879 Action = StopAction
1877 end 1880 end
1878 object ExportGBButton: TToolButton 1881 object ExportGBButton: TToolButton
1879 Left = 213 1882 Left = 245
1880 Hint = 'Export the song as a standalone ROM' 1883 Hint = 'Export the song as a standalone ROM'
1881 Top = 0 1884 Top = 0
1882 AutoSize = True 1885 AutoSize = True
@@ -1885,49 +1888,49 @@ object frmTracker: TfrmTracker
1885 OnClick = ExportGBButtonClick 1888 OnClick = ExportGBButtonClick
1886 end 1889 end
1887 object ToolButton8: TToolButton 1890 object ToolButton8: TToolButton
1888 Left = 82 1891 Left = 103
1889 Height = 22 1892 Height = 28
1890 Top = 0 1893 Top = 0
1891 Caption = 'ToolButton8' 1894 Caption = 'ToolButton8'
1892 Style = tbsDivider 1895 Style = tbsDivider
1893 end 1896 end
1894 object ToolButton6: TToolButton 1897 object ToolButton6: TToolButton
1895 Left = 174 1898 Left = 202
1896 Height = 22 1899 Height = 28
1897 Top = 0 1900 Top = 0
1898 Caption = 'ToolButton6' 1901 Caption = 'ToolButton6'
1899 Style = tbsDivider 1902 Style = tbsDivider
1900 end 1903 end
1901 object ToolButton7: TToolButton 1904 object ToolButton7: TToolButton
1902 Left = 1025 1905 Left = 1280
1903 Height = 22 1906 Height = 28
1904 Top = 0 1907 Top = 0
1905 Caption = 'ToolButton7' 1908 Caption = 'ToolButton7'
1906 Style = tbsSeparator 1909 Style = tbsSeparator
1907 end 1910 end
1908 object OctaveSpinEdit: TSpinEdit 1911 object OctaveSpinEdit: TSpinEdit
1909 Left = 591 1912 Left = 724
1910 Height = 23 1913 Height = 32
1911 Hint = 'The octave offset for entering new notes' 1914 Hint = 'The octave offset for entering new notes'
1912 Top = 0 1915 Top = 0
1913 Width = 65 1916 Width = 83
1914 MaxValue = 5 1917 MaxValue = 5
1915 OnChange = OctaveSpinEditChange 1918 OnChange = OctaveSpinEditChange
1916 ParentFont = False 1919 ParentFont = False
1917 TabOrder = 0 1920 TabOrder = 0
1918 end 1921 end
1919 object ToolButton9: TToolButton 1922 object ToolButton9: TToolButton
1920 Left = 540 1923 Left = 659
1921 Height = 22 1924 Height = 28
1922 Top = 0 1925 Top = 0
1923 Caption = 'ToolButton9' 1926 Caption = 'ToolButton9'
1924 Style = tbsSeparator 1927 Style = tbsSeparator
1925 end 1928 end
1926 object Label22: TLabel 1929 object Label22: TLabel
1927 Left = 548 1930 Left = 669
1928 Height = 22 1931 Height = 28
1929 Top = 0 1932 Top = 0
1930 Width = 43 1933 Width = 55
1931 AutoSize = False 1934 AutoSize = False
1932 Caption = 'Octave ' 1935 Caption = 'Octave '
1933 Layout = tlCenter 1936 Layout = tlCenter
@@ -1935,10 +1938,10 @@ object frmTracker: TfrmTracker
1935 ParentFont = False 1938 ParentFont = False
1936 end 1939 end
1937 object Label23: TLabel 1940 object Label23: TLabel
1938 Left = 656 1941 Left = 807
1939 Height = 22 1942 Height = 28
1940 Top = 0 1943 Top = 0
1941 Width = 70 1944 Width = 90
1942 AutoSize = False 1945 AutoSize = False
1943 Caption = ' Instrument ' 1946 Caption = ' Instrument '
1944 Layout = tlCenter 1947 Layout = tlCenter
@@ -1946,13 +1949,13 @@ object frmTracker: TfrmTracker
1946 ParentFont = False 1949 ParentFont = False
1947 end 1950 end
1948 object InstrumentComboBox: TComboBox 1951 object InstrumentComboBox: TComboBox
1949 Left = 726 1952 Left = 897
1950 Height = 23 1953 Height = 30
1951 Hint = 'The selected instrument for new notes' 1954 Hint = 'The selected instrument for new notes'
1952 Top = 0 1955 Top = 0
1953 Width = 214 1956 Width = 274
1954 DropDownCount = 999 1957 DropDownCount = 999
1955 ItemHeight = 15 1958 ItemHeight = 0
1956 ItemIndex = 0 1959 ItemIndex = 0
1957 Items.Strings = ( 1960 Items.Strings = (
1958 '(no instrument)' 1961 '(no instrument)'
@@ -1964,10 +1967,10 @@ object frmTracker: TfrmTracker
1964 Text = '(no instrument)' 1967 Text = '(no instrument)'
1965 end 1968 end
1966 object Label24: TLabel 1969 object Label24: TLabel
1967 Left = 940 1970 Left = 1171
1968 Height = 22 1971 Height = 28
1969 Top = 0 1972 Top = 0
1970 Width = 35 1973 Width = 45
1971 AutoSize = False 1974 AutoSize = False
1972 Caption = ' Step ' 1975 Caption = ' Step '
1973 Layout = tlCenter 1976 Layout = tlCenter
@@ -1975,23 +1978,23 @@ object frmTracker: TfrmTracker
1975 ParentFont = False 1978 ParentFont = False
1976 end 1979 end
1977 object StepSpinEdit: TSpinEdit 1980 object StepSpinEdit: TSpinEdit
1978 Left = 975 1981 Left = 1216
1979 Height = 23 1982 Height = 32
1980 Hint = 'How many rows to step down after entering a new note' 1983 Hint = 'How many rows to step down after entering a new note'
1981 Top = 0 1984 Top = 0
1982 Width = 50 1985 Width = 64
1983 MaxValue = 63 1986 MaxValue = 63
1984 OnChange = StepSpinEditChange 1987 OnChange = StepSpinEditChange
1985 ParentFont = False 1988 ParentFont = False
1986 TabOrder = 2 1989 TabOrder = 2
1987 end 1990 end
1988 object ToolButton3: TToolButton 1991 object ToolButton3: TToolButton
1989 Left = 87 1992 Left = 109
1990 Top = 0 1993 Top = 0
1991 Action = PlayStartAction 1994 Action = PlayStartAction
1992 end 1995 end
1993 object ExportGBSButton: TToolButton 1996 object ExportGBSButton: TToolButton
1994 Left = 294 1997 Left = 348
1995 Hint = 'Export the song as a GBS soundtrack' 1998 Hint = 'Export the song as a GBS soundtrack'
1996 Top = 0 1999 Top = 0
1997 Caption = 'Export GBS' 2000 Caption = 'Export GBS'
@@ -1999,14 +2002,14 @@ object frmTracker: TfrmTracker
1999 OnClick = ExportGBSButtonClick 2002 OnClick = ExportGBSButtonClick
2000 end 2003 end
2001 object ToolButton5: TToolButton 2004 object ToolButton5: TToolButton
2002 Left = 477 2005 Left = 583
2003 Height = 22 2006 Height = 28
2004 Top = 0 2007 Top = 0
2005 Caption = 'ToolButton5' 2008 Caption = 'ToolButton5'
2006 Style = tbsDivider 2009 Style = tbsDivider
2007 end 2010 end
2008 object ToolButton10: TToolButton 2011 object ToolButton10: TToolButton
2009 Left = 381 2012 Left = 459
2010 Hint = 'Export the song as WAV or MP3' 2013 Hint = 'Export the song as WAV or MP3'
2011 Top = 0 2014 Top = 0
2012 Caption = 'Render Song' 2015 Caption = 'Render Song'
@@ -2014,14 +2017,14 @@ object frmTracker: TfrmTracker
2014 OnClick = ToolButton10Click 2017 OnClick = ToolButton10Click
2015 end 2018 end
2016 object ToolButton11: TToolButton 2019 object ToolButton11: TToolButton
2017 Left = 208 2020 Left = 239
2018 Height = 22 2021 Height = 28
2019 Top = 0 2022 Top = 0
2020 Caption = 'ToolButton11' 2023 Caption = 'ToolButton11'
2021 Style = tbsDivider 2024 Style = tbsDivider
2022 end 2025 end
2023 object LoopSongToolButton: TToolButton 2026 object LoopSongToolButton: TToolButton
2024 Left = 179 2027 Left = 208
2025 Top = 0 2028 Top = 0
2026 ImageIndex = 87 2029 ImageIndex = 87
2027 OnClick = LoopSongToolButtonClick 2030 OnClick = LoopSongToolButtonClick
@@ -2030,8 +2033,8 @@ object frmTracker: TfrmTracker
2030 end 2033 end
2031 object MainMenu1: TMainMenu 2034 object MainMenu1: TMainMenu
2032 Images = ImageList1 2035 Images = ImageList1
2033 Left = 40 2036 Left = 51
2034 Top = 32 2037 Top = 41
2035 object MenuItem1: TMenuItem 2038 object MenuItem1: TMenuItem
2036 Caption = 'File' 2039 Caption = 'File'
2037 object MenuItem33: TMenuItem 2040 object MenuItem33: TMenuItem
@@ -2197,8 +2200,8 @@ object frmTracker: TfrmTracker
2197 end 2200 end
2198 object MenuBarActionList: TActionList 2201 object MenuBarActionList: TActionList
2199 Images = ImageList1 2202 Images = ImageList1
2200 Left = 104 2203 Left = 133
2201 Top = 72 2204 Top = 92
2202 object FileOpen1: TFileOpen 2205 object FileOpen1: TFileOpen
2203 Category = 'File' 2206 Category = 'File'
2204 Caption = '&Open ...' 2207 Caption = '&Open ...'
@@ -2308,8 +2311,8 @@ object frmTracker: TfrmTracker
2308 end 2311 end
2309 end 2312 end
2310 object ImageList1: TImageList 2313 object ImageList1: TImageList
2311 Left = 152 2314 Left = 195
2312 Top = 32 2315 Top = 41
2313 Bitmap = { 2316 Bitmap = {
2314 4C7A5C0000001000000010000000132900000000000078DAED5D077C1545FE9F 2317 4C7A5C0000001000000010000000132900000000000078DAED5D077C1545FE9F
2315 24A89CA2A814B1DC5FEE3C3D15C1029E200A51BA078228081A44AAC22145448A 2318 24A89CA2A814B1DC5FEE3C3D15C1029E200A51BA078228081A44AAC22145448A
@@ -2645,17 +2648,17 @@ object frmTracker: TfrmTracker
2645 end 2648 end
2646 object OpenDialog1: TOpenDialog 2649 object OpenDialog1: TOpenDialog
2647 Filter = 'hUGETracker Instruments|*.ugi' 2650 Filter = 'hUGETracker Instruments|*.ugi'
2648 Left = 80 2651 Left = 103
2649 Top = 56 2652 Top = 72
2650 end 2653 end
2651 object InstrumentSaveDialog: TSaveDialog 2654 object InstrumentSaveDialog: TSaveDialog
2652 Filter = 'hUGETracker Instruments|*.ugi' 2655 Filter = 'hUGETracker Instruments|*.ugi'
2653 Left = 80 2656 Left = 103
2654 Top = 56 2657 Top = 72
2655 end 2658 end
2656 object OrderEditPopup: TPopupMenu 2659 object OrderEditPopup: TPopupMenu
2657 Left = 128 2660 Left = 164
2658 Top = 40 2661 Top = 51
2659 object MenuItem17: TMenuItem 2662 object MenuItem17: TMenuItem
2660 Caption = 'Insert new row' 2663 Caption = 'Insert new row'
2661 Hint = 'Insert a new row filled with brand new patterns' 2664 Hint = 'Insert a new row filled with brand new patterns'
@@ -2686,8 +2689,8 @@ object frmTracker: TfrmTracker
2686 object ImageList2: TImageList 2689 object ImageList2: TImageList
2687 Height = 32 2690 Height = 32
2688 Width = 32 2691 Width = 32
2689 Left = 48 2692 Left = 62
2690 Top = 86 2693 Top = 110
2691 Bitmap = { 2694 Bitmap = {
2692 4C7A020000002000000020000000400200000000000078DAED98818EC3200886 2695 4C7A020000002000000020000000400200000000000078DAED98818EC3200886
2693 7DF4BED9F666DE6CA54504048BBDE572246659B7F503A4C8BF94662CE77EAD34 2696 7DF4BED9F666DE6CA54504048BBDE572246659B7F503A4C8BF94662CE77EAD34
@@ -2714,33 +2717,33 @@ object frmTracker: TfrmTracker
2714 Enabled = False 2717 Enabled = False
2715 Interval = 200 2718 Interval = 200
2716 OnTimer = OscilloscopeUpdateTimerTimer 2719 OnTimer = OscilloscopeUpdateTimerTimer
2717 Left = 88 2720 Left = 113
2718 Top = 48 2721 Top = 62
2719 end 2722 end
2720 object GBSSaveDialog: TSaveDialog 2723 object GBSSaveDialog: TSaveDialog
2721 Filter = 'Gameboy Soundtrack|*.gbs' 2724 Filter = 'Gameboy Soundtrack|*.gbs'
2722 Left = 288 2725 Left = 369
2723 Top = 24 2726 Top = 31
2724 end 2727 end
2725 object WaveSaveDialog: TSaveDialog 2728 object WaveSaveDialog: TSaveDialog
2726 Filter = 'hUGETracker Waves|*.ugw' 2729 Filter = 'hUGETracker Waves|*.ugw'
2727 Left = 368 2730 Left = 472
2728 Top = 24 2731 Top = 31
2729 end 2732 end
2730 object GBSaveDialog: TSaveDialog 2733 object GBSaveDialog: TSaveDialog
2731 Filter = 'Gameboy ROM|*.gb' 2734 Filter = 'Gameboy ROM|*.gb'
2732 Left = 328 2735 Left = 420
2733 Top = 24 2736 Top = 31
2734 end 2737 end
2735 object NoteHaltTimer: TTimer 2738 object NoteHaltTimer: TTimer
2736 Enabled = False 2739 Enabled = False
2737 OnTimer = NoteHaltTimerTimer 2740 OnTimer = NoteHaltTimerTimer
2738 Left = 80 2741 Left = 103
2739 Top = 86 2742 Top = 110
2740 end 2743 end
2741 object TrackerGridPopup: TPopupMenu 2744 object TrackerGridPopup: TPopupMenu
2742 Left = 96 2745 Left = 123
2743 Top = 24 2746 Top = 31
2744 object TrackerPopupEditEffect: TMenuItem 2747 object TrackerPopupEditEffect: TMenuItem
2745 Caption = 'Edit effect ...' 2748 Caption = 'Edit effect ...'
2746 OnClick = TrackerPopupEditEffectClick 2749 OnClick = TrackerPopupEditEffectClick
@@ -2892,8 +2895,8 @@ object frmTracker: TfrmTracker
2892 object WavSaveDialog: TSaveDialog 2895 object WavSaveDialog: TSaveDialog
2893 DefaultExt = '.wav' 2896 DefaultExt = '.wav'
2894 Filter = 'Wave files|*.wav' 2897 Filter = 'Wave files|*.wav'
2895 Left = 408 2898 Left = 523
2896 Top = 24 2899 Top = 31
2897 end 2900 end
2898 object SynAnySyn1: TSynAnySyn 2901 object SynAnySyn1: TSynAnySyn
2899 Enabled = False 2902 Enabled = False
@@ -3017,18 +3020,18 @@ object frmTracker: TfrmTracker
3017 Entity = False 3020 Entity = False
3018 DollarVariables = False 3021 DollarVariables = False
3019 ActiveDot = False 3022 ActiveDot = False
3020 Left = 8 3023 Left = 10
3021 Top = 86 3024 Top = 110
3022 end 3025 end
3023 object MODOpenDialog: TOpenDialog 3026 object MODOpenDialog: TOpenDialog
3024 DefaultExt = '.mod' 3027 DefaultExt = '.mod'
3025 Filter = 'GBT Player MOD files|*.mod' 3028 Filter = 'GBT Player MOD files|*.mod'
3026 Left = 472 3029 Left = 605
3027 Top = 24 3030 Top = 31
3028 end 3031 end
3029 object WaveEditPopup: TPopupMenu 3032 object WaveEditPopup: TPopupMenu
3030 Left = 8 3033 Left = 10
3031 Top = 32 3034 Top = 41
3032 object MenuItem37: TMenuItem 3035 object MenuItem37: TMenuItem
3033 Caption = 'Copy' 3036 Caption = 'Copy'
3034 OnClick = MenuItem37Click 3037 OnClick = MenuItem37Click
@@ -3040,8 +3043,8 @@ object frmTracker: TfrmTracker
3040 end 3043 end
3041 object ShortcutsActionList: TActionList 3044 object ShortcutsActionList: TActionList
3042 Images = ImageList1 3045 Images = ImageList1
3043 Left = 208 3046 Left = 267
3044 Top = 32 3047 Top = 41
3045 object PlayStartAction: TAction 3048 object PlayStartAction: TAction
3046 DisableIfNoHandler = False 3049 DisableIfNoHandler = False
3047 Hint = 'Play song from start' 3050 Hint = 'Play song from start'
@@ -3166,23 +3169,23 @@ object frmTracker: TfrmTracker
3166 end 3169 end
3167 object GBDKCSaveDialog: TSaveDialog 3170 object GBDKCSaveDialog: TSaveDialog
3168 Filter = 'GBDK C File|*.c' 3171 Filter = 'GBDK C File|*.c'
3169 Left = 248 3172 Left = 318
3170 Top = 24 3173 Top = 31
3171 end 3174 end
3172 object RGBDSAsmSaveDialog: TSaveDialog 3175 object RGBDSAsmSaveDialog: TSaveDialog
3173 Filter = 'RGBDS Assembly|*.asm' 3176 Filter = 'RGBDS Assembly|*.asm'
3174 Left = 272 3177 Left = 349
3175 Top = 48 3178 Top = 62
3176 end 3179 end
3177 object VGMSaveDialog: TSaveDialog 3180 object VGMSaveDialog: TSaveDialog
3178 Filter = 'VGM Rip|*.vgm' 3181 Filter = 'VGM Rip|*.vgm'
3179 Left = 356 3182 Left = 456
3180 Top = 52 3183 Top = 67
3181 end 3184 end
3182 object TBMOpenDialog: TOpenDialog 3185 object TBMOpenDialog: TOpenDialog
3183 DefaultExt = '.tbm' 3186 DefaultExt = '.tbm'
3184 Filter = 'TrackerBoy TBM files|*.tbm' 3187 Filter = 'TrackerBoy TBM files|*.tbm'
3185 Left = 472 3188 Left = 605
3186 Top = 64 3189 Top = 82
3187 end 3190 end
3188 end 3191 end
Modifiedsrc/tracker.pas +12−1
@@ -9,7 +9,7 @@ uses
9 FileUtil, math, Instruments, Song, Utils, Constants, sound, vars, machine, 9 FileUtil, math, Instruments, Song, Utils, Constants, sound, vars, machine,
10 about_hugetracker, TrackerGrid, lclintf, lmessages, Buttons, Grids, DBCtrls, 10 about_hugetracker, TrackerGrid, lclintf, lmessages, Buttons, Grids, DBCtrls,
11 HugeDatatypes, LCLType, Clipbrd, RackCtls, Codegen, SymParser, options, 11 HugeDatatypes, LCLType, Clipbrd, RackCtls, Codegen, SymParser, options,
12 bgrabitmap, effecteditor, RenderToWave, modimport, mainloop, strutils, Rtti, 12 bgrabitmap, effecteditor, RenderToWave, modimport, mainloop, strutils,
13 Types, Keymap, hUGESettings, vgm, TBMImport, InstrumentPreview, findreplace; 13 Types, Keymap, hUGESettings, vgm, TBMImport, InstrumentPreview, findreplace;
14 14
15 // TODO: Move to config file? 15 // TODO: Move to config file?
@@ -301,6 +301,8 @@ type
301 procedure MenuItem10Click(Sender: TObject); 301 procedure MenuItem10Click(Sender: TObject);
302 procedure MenuItem26Click(Sender: TObject); 302 procedure MenuItem26Click(Sender: TObject);
303 procedure MenuItem55Click(Sender: TObject); 303 procedure MenuItem55Click(Sender: TObject);
304 procedure OrderEditStringGridMouseDown(Sender: TObject;
305 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
304 procedure RevertMenuItemClick(Sender: TObject); 306 procedure RevertMenuItemClick(Sender: TObject);
305 procedure TimerDividerSpinEditChange(Sender: TObject); 307 procedure TimerDividerSpinEditChange(Sender: TObject);
306 procedure TimerEnabledCheckBoxChange(Sender: TObject); 308 procedure TimerEnabledCheckBoxChange(Sender: TObject);
@@ -2061,6 +2063,15 @@ begin
2061 end; 2063 end;
2062 end; 2064 end;
2063 2065
2066 procedure TfrmTracker.OrderEditStringGridMouseDown(Sender: TObject;
2067 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
2068 begin
2069 if Button = mbRight then begin;
2070 OrderEditStringGrid.MouseDown(mbLeft, [], X, Y);
2071 OrderEditStringGrid.MouseUp(mbLeft, [], X, Y);
2072 end;
2073 end;
2074
2064 procedure TfrmTracker.RevertMenuItemClick(Sender: TObject); 2075 procedure TfrmTracker.RevertMenuItemClick(Sender: TObject);
2065 begin 2076 begin
2066 if not CheckUnsavedChanges then Exit; 2077 if not CheckUnsavedChanges then Exit;