Commit cea31d2

Nick committed on
Update error message
commit cea31d224718c3f14691eab051024c5a6ba2d028 parent d056479
2 changed files +389−390
Modifiedtracker.lfm +383−385
@@ -1,13 +1,12 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1038 2 Left = 1038
3 Height = 1143 3 Height = 653
4 Top = 285 4 Top = 285
5 Width = 2156 5 Width = 1232
6 AllowDropFiles = True 6 AllowDropFiles = True
7 Caption = 'hUGETracker' 7 Caption = 'hUGETracker'
8 ClientHeight = 1109 8 ClientHeight = 633
9 ClientWidth = 2156 9 ClientWidth = 1232
10 DesignTimePPI = 168
11 KeyPreview = True 10 KeyPreview = True
12 Menu = MainMenu1 11 Menu = MainMenu1
13 OnCloseQuery = FormCloseQuery 12 OnCloseQuery = FormCloseQuery
@@ -21,9 +20,9 @@ object frmTracker: TfrmTracker
21 LCLVersion = '2.0.11.0' 20 LCLVersion = '2.0.11.0'
22 object TreeView1: TTreeView 21 object TreeView1: TTreeView
23 Left = 0 22 Left = 0
24 Height = 913 23 Height = 521
25 Top = 153 24 Top = 89
26 Width = 338 25 Width = 193
27 Align = alLeft 26 Align = alLeft
28 ParentFont = False 27 ParentFont = False
29 ReadOnly = True 28 ReadOnly = True
@@ -41,27 +40,27 @@ object frmTracker: TfrmTracker
41 } 40 }
42 end 41 end
43 object Splitter1: TSplitter 42 object Splitter1: TSplitter
44 Left = 338 43 Left = 193
45 Height = 913 44 Height = 521
46 Top = 153 45 Top = 89
47 Width = 9 46 Width = 5
48 end 47 end
49 object Panel1: TPanel 48 object Panel1: TPanel
50 Left = 347 49 Left = 198
51 Height = 913 50 Height = 521
52 Top = 153 51 Top = 89
53 Width = 1809 52 Width = 1034
54 Align = alClient 53 Align = alClient
55 BevelOuter = bvNone 54 BevelOuter = bvNone
56 ClientHeight = 913 55 ClientHeight = 521
57 ClientWidth = 1809 56 ClientWidth = 1034
58 ParentFont = False 57 ParentFont = False
59 TabOrder = 2 58 TabOrder = 2
60 object PageControl1: TPageControl 59 object PageControl1: TPageControl
61 Left = 0 60 Left = 0
62 Height = 913 61 Height = 521
63 Top = 0 62 Top = 0
64 Width = 1809 63 Width = 1034
65 ActivePage = GeneralTabSheet 64 ActivePage = GeneralTabSheet
66 Align = alClient 65 Align = alClient
67 ParentFont = False 66 ParentFont = False
@@ -69,72 +68,72 @@ object frmTracker: TfrmTracker
69 TabOrder = 0 68 TabOrder = 0
70 object GeneralTabSheet: TTabSheet 69 object GeneralTabSheet: TTabSheet
71 Caption = 'General' 70 Caption = 'General'
72 ClientHeight = 870 71 ClientHeight = 493
73 ClientWidth = 1801 72 ClientWidth = 1026
74 ParentFont = False 73 ParentFont = False
75 object SongInformationGroupbox: TGroupBox 74 object SongInformationGroupbox: TGroupBox
76 Left = 14 75 Left = 8
77 Height = 238 76 Height = 136
78 Top = 14 77 Top = 8
79 Width = 534 78 Width = 305
80 Caption = 'Song information' 79 Caption = 'Song information'
81 ClientHeight = 203 80 ClientHeight = 116
82 ClientWidth = 530 81 ClientWidth = 301
83 ParentFont = False 82 ParentFont = False
84 TabOrder = 0 83 TabOrder = 0
85 object Label15: TLabel 84 object Label15: TLabel
86 Left = 14 85 Left = 8
87 Height = 30 86 Height = 15
88 Top = 28 87 Top = 16
89 Width = 47 88 Width = 27
90 Caption = 'Song' 89 Caption = 'Song'
91 ParentColor = False 90 ParentColor = False
92 ParentFont = False 91 ParentFont = False
93 end 92 end
94 object Label16: TLabel 93 object Label16: TLabel
95 Left = 12 94 Left = 7
96 Height = 30 95 Height = 15
97 Top = 84 96 Top = 48
98 Width = 49 97 Width = 28
99 Caption = 'Artist' 98 Caption = 'Artist'
100 ParentColor = False 99 ParentColor = False
101 ParentFont = False 100 ParentFont = False
102 end 101 end
103 object SongEdit: TEdit 102 object SongEdit: TEdit
104 Left = 98 103 Left = 56
105 Height = 38 104 Height = 23
106 Hint = 'The name of your composition' 105 Hint = 'The name of your composition'
107 Top = 14 106 Top = 8
108 Width = 378 107 Width = 216
109 OnChange = SongEditChange 108 OnChange = SongEditChange
110 ParentFont = False 109 ParentFont = False
111 TabOrder = 0 110 TabOrder = 0
112 end 111 end
113 object ArtistEdit: TEdit 112 object ArtistEdit: TEdit
114 Left = 98 113 Left = 56
115 Height = 38 114 Height = 23
116 Hint = 'Your name or handle' 115 Hint = 'Your name or handle'
117 Top = 70 116 Top = 40
118 Width = 378 117 Width = 216
119 OnChange = ArtistEditChange 118 OnChange = ArtistEditChange
120 ParentFont = False 119 ParentFont = False
121 TabOrder = 1 120 TabOrder = 1
122 end 121 end
123 object Label21: TLabel 122 object Label21: TLabel
124 Left = 14 123 Left = 8
125 Height = 30 124 Height = 15
126 Top = 136 125 Top = 78
127 Width = 197 126 Width = 114
128 Caption = 'Tempo (ticks per row)' 127 Caption = 'Tempo (ticks per row)'
129 ParentColor = False 128 ParentColor = False
130 ParentFont = False 129 ParentFont = False
131 end 130 end
132 object TicksPerRowSpinEdit: TSpinEdit 131 object TicksPerRowSpinEdit: TSpinEdit
133 Left = 233 132 Left = 133
134 Height = 38 133 Height = 23
135 Hint = 'How many ticks should happen before the row changes. Higher means slower' 134 Hint = 'How many ticks should happen before the row changes. Higher means slower'
136 Top = 128 135 Top = 73
137 Width = 88 136 Width = 50
138 MaxValue = 20 137 MaxValue = 20
139 MinValue = 1 138 MinValue = 1
140 OnChange = TicksPerRowSpinEditChange 139 OnChange = TicksPerRowSpinEditChange
@@ -161,7 +160,7 @@ object frmTracker: TfrmTracker
161 TabOrder = 0 160 TabOrder = 0
162 object HeaderControl1: THeaderControl 161 object HeaderControl1: THeaderControl
163 Left = 1 162 Left = 1
164 Height = 52 163 Height = 30
165 Hint = 'Left click to mute, right click to solo' 164 Hint = 'Left click to mute, right click to solo'
166 Top = 1 165 Top = 1
167 Width = 1407 166 Width = 1407
@@ -170,35 +169,35 @@ object frmTracker: TfrmTracker
170 Sections = < 169 Sections = <
171 item 170 item
172 Alignment = taLeftJustify 171 Alignment = taLeftJustify
173 Width = 56 172 Width = 32
174 Visible = True 173 Visible = True
175 end 174 end
176 item 175 item
177 Alignment = taCenter 176 Alignment = taCenter
178 ImageIndex = 1 177 ImageIndex = 1
179 Text = 'Duty 1' 178 Text = 'Duty 1'
180 Width = 233 179 Width = 133
181 Visible = True 180 Visible = True
182 end 181 end
183 item 182 item
184 Alignment = taCenter 183 Alignment = taCenter
185 ImageIndex = 1 184 ImageIndex = 1
186 Text = 'Duty 2' 185 Text = 'Duty 2'
187 Width = 233 186 Width = 133
188 Visible = True 187 Visible = True
189 end 188 end
190 item 189 item
191 Alignment = taCenter 190 Alignment = taCenter
192 ImageIndex = 1 191 ImageIndex = 1
193 Text = 'Wave' 192 Text = 'Wave'
194 Width = 233 193 Width = 133
195 Visible = True 194 Visible = True
196 end 195 end
197 item 196 item
198 Alignment = taCenter 197 Alignment = taCenter
199 ImageIndex = 1 198 ImageIndex = 1
200 Text = 'Noise' 199 Text = 'Noise'
201 Width = 233 200 Width = 133
202 Visible = True 201 Visible = True
203 end> 202 end>
204 OnSectionClick = HeaderControl1SectionClick 203 OnSectionClick = HeaderControl1SectionClick
@@ -231,11 +230,11 @@ object frmTracker: TfrmTracker
231 Left = 0 230 Left = 0
232 Height = 815 231 Height = 815
233 Top = 0 232 Top = 0
234 Width = 56 233 Width = 32
235 Align = alLeft 234 Align = alLeft
236 BorderStyle = bsNone 235 BorderStyle = bsNone
237 ColCount = 1 236 ColCount = 1
238 DefaultColWidth = 56 237 DefaultColWidth = 32
239 Enabled = False 238 Enabled = False
240 ParentFont = False 239 ParentFont = False
241 RowCount = 64 240 RowCount = 64
@@ -248,41 +247,41 @@ object frmTracker: TfrmTracker
248 Left = 0 247 Left = 0
249 Height = 869 248 Height = 869
250 Top = 0 249 Top = 0
251 Width = 392 250 Width = 224
252 Align = alLeft 251 Align = alLeft
253 AutoEdit = False 252 AutoEdit = False
254 AutoFillColumns = True 253 AutoFillColumns = True
255 Columns = < 254 Columns = <
256 item 255 item
257 Alignment = taCenter 256 Alignment = taCenter
258 MinSize = 58 257 MinSize = 33
259 MaxSize = 58 258 MaxSize = 33
260 Title.Caption = 'Dty1' 259 Title.Caption = 'Dty1'
261 Width = 61 260 Width = 34
262 end 261 end
263 item 262 item
264 Alignment = taCenter 263 Alignment = taCenter
265 MinSize = 58 264 MinSize = 33
266 MaxSize = 58 265 MaxSize = 33
267 Title.Caption = 'Dty2' 266 Title.Caption = 'Dty2'
268 Width = 61 267 Width = 34
269 end 268 end
270 item 269 item
271 Alignment = taCenter 270 Alignment = taCenter
272 MinSize = 58 271 MinSize = 33
273 MaxSize = 58 272 MaxSize = 33
274 Title.Caption = 'Wav' 273 Title.Caption = 'Wav'
275 Width = 61 274 Width = 34
276 end 275 end
277 item 276 item
278 Alignment = taCenter 277 Alignment = taCenter
279 MinSize = 58 278 MinSize = 33
280 MaxSize = 58 279 MaxSize = 33
281 Title.Caption = 'Nse' 280 Title.Caption = 'Nse'
282 Width = 63 281 Width = 37
283 end> 282 end>
284 DefaultColWidth = 30 283 DefaultColWidth = 17
285 DefaultRowHeight = 37 284 DefaultRowHeight = 21
286 ExtendedSelect = False 285 ExtendedSelect = False
287 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goRangeSelect, goRowMoving, goEditing, goTabs, goSmoothScroll, goFixedRowNumbering, goRowHighlight] 286 Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goRangeSelect, goRowMoving, goEditing, goTabs, goSmoothScroll, goFixedRowNumbering, goRowHighlight]
288 ParentFont = False 287 ParentFont = False
@@ -302,11 +301,11 @@ object frmTracker: TfrmTracker
302 OnKeyDown = OrderEditStringGridKeyDown 301 OnKeyDown = OrderEditStringGridKeyDown
303 OnValidateEntry = OrderEditStringGridValidateEntry 302 OnValidateEntry = OrderEditStringGridValidateEntry
304 ColWidths = ( 303 ColWidths = (
305 112 304 64
306 61 305 34
307 61 306 34
308 61 307 34
309 63 308 37
310 ) 309 )
311 end 310 end
312 end 311 end
@@ -371,25 +370,25 @@ object frmTracker: TfrmTracker
371 TabOrder = 0 370 TabOrder = 0
372 object InstrumentGroupBox: TGroupBox 371 object InstrumentGroupBox: TGroupBox
373 Left = 12 372 Left = 12
374 Height = 422 373 Height = 241
375 Top = 12 374 Top = 12
376 Width = 474 375 Width = 271
377 Anchors = [] 376 Anchors = []
378 BorderSpacing.Left = 12 377 BorderSpacing.Left = 7
379 BorderSpacing.Top = 12 378 BorderSpacing.Top = 7
380 BorderSpacing.Right = 12 379 BorderSpacing.Right = 7
381 BorderSpacing.Bottom = 12 380 BorderSpacing.Bottom = 7
382 Caption = 'Instrument' 381 Caption = 'Instrument'
383 ClientHeight = 387 382 ClientHeight = 221
384 ClientWidth = 470 383 ClientWidth = 267
385 ParentFont = False 384 ParentFont = False
386 TabOrder = 0 385 TabOrder = 0
387 object InstrumentNumberSpinner: TSpinEdit 386 object InstrumentNumberSpinner: TSpinEdit
388 Left = 140 387 Left = 80
389 Height = 38 388 Height = 38
390 Hint = 'What instrument to edit' 389 Hint = 'What instrument to edit'
391 Top = 66 390 Top = 38
392 Width = 308 391 Width = 176
393 MaxValue = 15 392 MaxValue = 15
394 MinValue = 1 393 MinValue = 1
395 OnChange = InstrumentNumberSpinnerChange 394 OnChange = InstrumentNumberSpinnerChange
@@ -398,37 +397,37 @@ object frmTracker: TfrmTracker
398 Value = 1 397 Value = 1
399 end 398 end
400 object Label1: TLabel 399 object Label1: TLabel
401 Left = 14 400 Left = 8
402 Height = 30 401 Height = 30
403 Top = 80 402 Top = 46
404 Width = 101 403 Width = 101
405 Caption = 'Instrument' 404 Caption = 'Instrument'
406 ParentColor = False 405 ParentColor = False
407 ParentFont = False 406 ParentFont = False
408 end 407 end
409 object Label2: TLabel 408 object Label2: TLabel
410 Left = 14 409 Left = 8
411 Height = 30 410 Height = 30
412 Top = 136 411 Top = 78
413 Width = 56 412 Width = 56
414 Caption = 'Name' 413 Caption = 'Name'
415 ParentColor = False 414 ParentColor = False
416 ParentFont = False 415 ParentFont = False
417 end 416 end
418 object InstrumentNameEdit: TEdit 417 object InstrumentNameEdit: TEdit
419 Left = 140 418 Left = 80
420 Height = 38 419 Height = 38
421 Hint = 'The name of the instrument' 420 Hint = 'The name of the instrument'
422 Top = 122 421 Top = 70
423 Width = 308 422 Width = 176
424 OnChange = InstrumentNameEditChange 423 OnChange = InstrumentNameEditChange
425 ParentFont = False 424 ParentFont = False
426 TabOrder = 1 425 TabOrder = 1
427 end 426 end
428 object Label3: TLabel 427 object Label3: TLabel
429 Left = 14 428 Left = 8
430 Height = 30 429 Height = 30
431 Top = 28 430 Top = 16
432 Width = 80 431 Width = 80
433 Caption = 'Channel' 432 Caption = 'Channel'
434 Font.Style = [fsBold] 433 Font.Style = [fsBold]
@@ -436,12 +435,12 @@ object frmTracker: TfrmTracker
436 ParentFont = False 435 ParentFont = False
437 end 436 end
438 object InstrumentTypeCombobox: TComboBox 437 object InstrumentTypeCombobox: TComboBox
439 Left = 136 438 Left = 78
440 Height = 38 439 Height = 23
441 Hint = 'What type of channel this instrument will be played on' 440 Hint = 'What type of channel this instrument will be played on'
442 Top = 14 441 Top = 8
443 Width = 312 442 Width = 178
444 ItemHeight = 30 443 ItemHeight = 15
445 ItemIndex = 0 444 ItemIndex = 0
446 Items.Strings = ( 445 Items.Strings = (
447 'Square' 446 'Square'
@@ -455,10 +454,10 @@ object frmTracker: TfrmTracker
455 Text = 'Square' 454 Text = 'Square'
456 end 455 end
457 object LengthEnabledCheckbox: TCheckBox 456 object LengthEnabledCheckbox: TCheckBox
458 Left = 21 457 Left = 12
459 Height = 34 458 Height = 34
460 Hint = 'Cut the sound after a certain length of time' 459 Hint = 'Cut the sound after a certain length of time'
461 Top = 206 460 Top = 118
462 Width = 98 461 Width = 98
463 Caption = 'Length' 462 Caption = 'Length'
464 OnChange = LengthEnabledCheckboxChange 463 OnChange = LengthEnabledCheckboxChange
@@ -466,41 +465,41 @@ object frmTracker: TfrmTracker
466 TabOrder = 3 465 TabOrder = 3
467 end 466 end
468 object InstrumentImportButton: TButton 467 object InstrumentImportButton: TButton
469 Left = 21 468 Left = 12
470 Height = 44 469 Height = 25
471 Top = 322 470 Top = 184
472 Width = 203 471 Width = 116
473 Caption = 'Import' 472 Caption = 'Import'
474 OnClick = InstrumentImportButtonClick 473 OnClick = InstrumentImportButtonClick
475 ParentFont = False 474 ParentFont = False
476 TabOrder = 4 475 TabOrder = 4
477 end 476 end
478 object InstrumentExportButton: TButton 477 object InstrumentExportButton: TButton
479 Left = 242 478 Left = 138
480 Height = 44 479 Height = 25
481 Top = 322 480 Top = 184
482 Width = 203 481 Width = 116
483 Caption = 'Export' 482 Caption = 'Export'
484 OnClick = InstrumentExportButtonClick 483 OnClick = InstrumentExportButtonClick
485 ParentFont = False 484 ParentFont = False
486 TabOrder = 5 485 TabOrder = 5
487 end 486 end
488 object Button1: TButton 487 object Button1: TButton
489 Left = 21 488 Left = 12
490 Height = 44 489 Height = 25
491 Hint = 'Test out the instrument with a C-5 note' 490 Hint = 'Test out the instrument with a C-5 note'
492 Top = 266 491 Top = 152
493 Width = 424 492 Width = 242
494 Caption = 'Test C-5' 493 Caption = 'Test C-5'
495 OnClick = Button1Click 494 OnClick = Button1Click
496 ParentFont = False 495 ParentFont = False
497 TabOrder = 6 496 TabOrder = 6
498 end 497 end
499 object LengthTrackbar: TTrackBar 498 object LengthTrackbar: TTrackBar
500 Left = 133 499 Left = 76
501 Height = 44 500 Height = 25
502 Top = 196 501 Top = 112
503 Width = 312 502 Width = 178
504 Max = 63 503 Max = 63
505 OnChange = LengthSpinnerChange 504 OnChange = LengthSpinnerChange
506 Position = 0 505 Position = 0
@@ -511,44 +510,44 @@ object frmTracker: TfrmTracker
511 end 510 end
512 object EnvelopeGroupBox: TGroupBox 511 object EnvelopeGroupBox: TGroupBox
513 Left = 510 512 Left = 510
514 Height = 238 513 Height = 136
515 Top = 12 514 Top = 12
516 Width = 1018 515 Width = 582
517 Anchors = [] 516 Anchors = []
518 BorderSpacing.Left = 12 517 BorderSpacing.Left = 7
519 BorderSpacing.Top = 12 518 BorderSpacing.Top = 7
520 BorderSpacing.Right = 12 519 BorderSpacing.Right = 7
521 BorderSpacing.Bottom = 12 520 BorderSpacing.Bottom = 7
522 Caption = 'Envelope' 521 Caption = 'Envelope'
523 ClientHeight = 203 522 ClientHeight = 116
524 ClientWidth = 1014 523 ClientWidth = 578
525 ParentFont = False 524 ParentFont = False
526 TabOrder = 1 525 TabOrder = 1
527 object Label4: TLabel 526 object Label4: TLabel
528 Left = 14 527 Left = 8
529 Height = 30 528 Height = 30
530 Top = 16 529 Top = 9
531 Width = 80 530 Width = 80
532 Caption = 'Start vol.' 531 Caption = 'Start vol.'
533 ParentColor = False 532 ParentColor = False
534 ParentFont = False 533 ParentFont = False
535 end 534 end
536 object Label5: TLabel 535 object Label5: TLabel
537 Left = 14 536 Left = 8
538 Height = 30 537 Height = 30
539 Top = 84 538 Top = 48
540 Width = 84 539 Width = 84
541 Caption = 'Direction' 540 Caption = 'Direction'
542 ParentColor = False 541 ParentColor = False
543 ParentFont = False 542 ParentFont = False
544 end 543 end
545 object DirectionComboBox: TComboBox 544 object DirectionComboBox: TComboBox
546 Left = 144 545 Left = 82
547 Height = 38 546 Height = 23
548 Hint = 'Whether to fade the sound in or out' 547 Hint = 'Whether to fade the sound in or out'
549 Top = 80 548 Top = 46
550 Width = 346 549 Width = 198
551 ItemHeight = 30 550 ItemHeight = 15
552 ItemIndex = 1 551 ItemIndex = 1
553 Items.Strings = ( 552 Items.Strings = (
554 'Up' 553 'Up'
@@ -561,22 +560,22 @@ object frmTracker: TfrmTracker
561 Text = 'Down' 560 Text = 'Down'
562 end 561 end
563 object Label6: TLabel 562 object Label6: TLabel
564 Left = 14 563 Left = 8
565 Height = 30 564 Height = 30
566 Top = 150 565 Top = 86
567 Width = 71 566 Width = 71
568 Caption = 'Change' 567 Caption = 'Change'
569 ParentColor = False 568 ParentColor = False
570 ParentFont = False 569 ParentFont = False
571 end 570 end
572 object Panel5: TPanel 571 object Panel5: TPanel
573 Left = 525 572 Left = 300
574 Height = 182 573 Height = 104
575 Top = 0 574 Top = 0
576 Width = 472 575 Width = 270
577 BevelOuter = bvLowered 576 BevelOuter = bvLowered
578 ClientHeight = 182 577 ClientHeight = 104
579 ClientWidth = 472 578 ClientWidth = 270
580 ParentFont = False 579 ParentFont = False
581 TabOrder = 1 580 TabOrder = 1
582 object EnvelopePaintbox: TPaintBox 581 object EnvelopePaintbox: TPaintBox
@@ -591,10 +590,10 @@ object frmTracker: TfrmTracker
591 end 590 end
592 end 591 end
593 object StartVolTrackbar: TTrackBar 592 object StartVolTrackbar: TTrackBar
594 Left = 144 593 Left = 82
595 Height = 44 594 Height = 25
596 Top = 14 595 Top = 8
597 Width = 343 596 Width = 196
598 Max = 15 597 Max = 15
599 OnChange = StartVolSpinnerChange 598 OnChange = StartVolSpinnerChange
600 Position = 0 599 Position = 0
@@ -602,10 +601,10 @@ object frmTracker: TfrmTracker
602 TabOrder = 2 601 TabOrder = 2
603 end 602 end
604 object EnvChangeTrackbar: TTrackBar 603 object EnvChangeTrackbar: TTrackBar
605 Left = 144 604 Left = 82
606 Height = 44 605 Height = 25
607 Top = 144 606 Top = 82
608 Width = 343 607 Width = 196
609 Max = 7 608 Max = 7
610 OnChange = EnvChangeSpinnerChange 609 OnChange = EnvChangeSpinnerChange
611 Position = 0 610 Position = 0
@@ -615,35 +614,35 @@ object frmTracker: TfrmTracker
615 end 614 end
616 object SquareGroupBox: TGroupBox 615 object SquareGroupBox: TGroupBox
617 Left = 12 616 Left = 12
618 Height = 296 617 Height = 169
619 Top = 458 618 Top = 458
620 Width = 558 619 Width = 319
621 Anchors = [] 620 Anchors = []
622 BorderSpacing.Left = 12 621 BorderSpacing.Left = 7
623 BorderSpacing.Top = 12 622 BorderSpacing.Top = 7
624 BorderSpacing.Right = 12 623 BorderSpacing.Right = 7
625 BorderSpacing.Bottom = 12 624 BorderSpacing.Bottom = 7
626 Caption = 'Square' 625 Caption = 'Square'
627 ClientHeight = 261 626 ClientHeight = 149
628 ClientWidth = 554 627 ClientWidth = 315
629 ParentFont = False 628 ParentFont = False
630 TabOrder = 2 629 TabOrder = 2
631 object Label7: TLabel 630 object Label7: TLabel
632 Left = 14 631 Left = 8
633 Height = 30 632 Height = 30
634 Top = 28 633 Top = 16
635 Width = 107 634 Width = 107
636 Caption = 'Sweep time' 635 Caption = 'Sweep time'
637 ParentColor = False 636 ParentColor = False
638 ParentFont = False 637 ParentFont = False
639 end 638 end
640 object SweepTimeCombobox: TComboBox 639 object SweepTimeCombobox: TComboBox
641 Left = 182 640 Left = 104
642 Height = 38 641 Height = 23
643 Hint = 'How long to sweep' 642 Hint = 'How long to sweep'
644 Top = 14 643 Top = 8
645 Width = 350 644 Width = 200
646 ItemHeight = 30 645 ItemHeight = 15
647 ItemIndex = 0 646 ItemIndex = 0
648 Items.Strings = ( 647 Items.Strings = (
649 'Off - no frequency change' 648 'Off - no frequency change'
@@ -664,12 +663,12 @@ object frmTracker: TfrmTracker
664 Text = 'Off - no frequency change' 663 Text = 'Off - no frequency change'
665 end 664 end
666 object SweepDirectionCombobox: TComboBox 665 object SweepDirectionCombobox: TComboBox
667 Left = 182 666 Left = 104
668 Height = 38 667 Height = 23
669 Hint = 'The direction of the sweep' 668 Hint = 'The direction of the sweep'
670 Top = 70 669 Top = 40
671 Width = 350 670 Width = 200
672 ItemHeight = 30 671 ItemHeight = 15
673 ItemIndex = 1 672 ItemIndex = 1
674 Items.Strings = ( 673 Items.Strings = (
675 'Up' 674 'Up'
@@ -684,39 +683,39 @@ object frmTracker: TfrmTracker
684 Text = 'Down' 683 Text = 'Down'
685 end 684 end
686 object Label8: TLabel 685 object Label8: TLabel
687 Left = 14 686 Left = 8
688 Height = 30 687 Height = 30
689 Top = 84 688 Top = 48
690 Width = 147 689 Width = 147
691 Caption = 'Sweep direction' 690 Caption = 'Sweep direction'
692 ParentColor = False 691 ParentColor = False
693 ParentFont = False 692 ParentFont = False
694 end 693 end
695 object Label9: TLabel 694 object Label9: TLabel
696 Left = 14 695 Left = 8
697 Height = 30 696 Height = 30
698 Top = 147 697 Top = 84
699 Width = 101 698 Width = 101
700 Caption = 'Sweep size' 699 Caption = 'Sweep size'
701 ParentColor = False 700 ParentColor = False
702 ParentFont = False 701 ParentFont = False
703 end 702 end
704 object Label10: TLabel 703 object Label10: TLabel
705 Left = 14 704 Left = 8
706 Height = 30 705 Height = 30
707 Top = 210 706 Top = 120
708 Width = 44 707 Width = 44
709 Caption = 'Duty' 708 Caption = 'Duty'
710 ParentColor = False 709 ParentColor = False
711 ParentFont = False 710 ParentFont = False
712 end 711 end
713 object DutyCombobox: TComboBox 712 object DutyCombobox: TComboBox
714 Left = 182 713 Left = 104
715 Height = 38 714 Height = 23
716 Hint = 'Which duty cycle to use (changes timbre of wave)' 715 Hint = 'Which duty cycle to use (changes timbre of wave)'
717 Top = 196 716 Top = 112
718 Width = 350 717 Width = 200
719 ItemHeight = 30 718 ItemHeight = 15
720 ItemIndex = 2 719 ItemIndex = 2
721 Items.Strings = ( 720 Items.Strings = (
722 '12.5%' 721 '12.5%'
@@ -733,10 +732,10 @@ object frmTracker: TfrmTracker
733 Text = '50% (square)' 732 Text = '50% (square)'
734 end 733 end
735 object SweepSizeTrackbar: TTrackBar 734 object SweepSizeTrackbar: TTrackBar
736 Left = 184 735 Left = 105
737 Height = 44 736 Height = 25
738 Top = 140 737 Top = 80
739 Width = 343 738 Width = 196
740 Max = 7 739 Max = 7
741 OnChange = SweepSizeSpinnerChange 740 OnChange = SweepSizeSpinnerChange
742 Position = 0 741 Position = 0
@@ -746,44 +745,44 @@ object frmTracker: TfrmTracker
746 end 745 end
747 object WaveGroupBox: TGroupBox 746 object WaveGroupBox: TGroupBox
748 Left = 594 747 Left = 594
749 Height = 296 748 Height = 169
750 Top = 458 749 Top = 458
751 Width = 520 750 Width = 297
752 Anchors = [] 751 Anchors = []
753 BorderSpacing.Left = 12 752 BorderSpacing.Left = 7
754 BorderSpacing.Top = 12 753 BorderSpacing.Top = 7
755 BorderSpacing.Right = 12 754 BorderSpacing.Right = 7
756 BorderSpacing.Bottom = 12 755 BorderSpacing.Bottom = 7
757 Caption = 'Wave' 756 Caption = 'Wave'
758 ClientHeight = 261 757 ClientHeight = 149
759 ClientWidth = 516 758 ClientWidth = 293
760 ParentFont = False 759 ParentFont = False
761 TabOrder = 3 760 TabOrder = 3
762 object Label11: TLabel 761 object Label11: TLabel
763 Left = 14 762 Left = 8
764 Height = 30 763 Height = 30
765 Top = 28 764 Top = 16
766 Width = 70 765 Width = 70
767 Caption = 'Volume' 766 Caption = 'Volume'
768 ParentColor = False 767 ParentColor = False
769 ParentFont = False 768 ParentFont = False
770 end 769 end
771 object Label12: TLabel 770 object Label12: TLabel
772 Left = 14 771 Left = 8
773 Height = 30 772 Height = 30
774 Top = 84 773 Top = 48
775 Width = 95 774 Width = 95
776 Caption = 'Waveform' 775 Caption = 'Waveform'
777 ParentColor = False 776 ParentColor = False
778 ParentFont = False 777 ParentFont = False
779 end 778 end
780 object WaveformCombobox: TComboBox 779 object WaveformCombobox: TComboBox
781 Left = 182 780 Left = 104
782 Height = 38 781 Height = 23
783 Hint = 'Which waveform is associated with this instrument' 782 Hint = 'Which waveform is associated with this instrument'
784 Top = 70 783 Top = 40
785 Width = 308 784 Width = 176
786 ItemHeight = 30 785 ItemHeight = 15
787 ItemIndex = 0 786 ItemIndex = 0
788 Items.Strings = ( 787 Items.Strings = (
789 'Wave #0' 788 'Wave #0'
@@ -810,13 +809,13 @@ object frmTracker: TfrmTracker
810 Text = 'Wave #0' 809 Text = 'Wave #0'
811 end 810 end
812 object Panel4: TPanel 811 object Panel4: TPanel
813 Left = 14 812 Left = 8
814 Height = 103 813 Height = 59
815 Top = 140 814 Top = 80
816 Width = 476 815 Width = 272
817 BevelOuter = bvLowered 816 BevelOuter = bvLowered
818 ClientHeight = 103 817 ClientHeight = 59
819 ClientWidth = 476 818 ClientWidth = 272
820 ParentFont = False 819 ParentFont = False
821 TabOrder = 1 820 TabOrder = 1
822 object WavePaintbox: TPaintBox 821 object WavePaintbox: TPaintBox
@@ -833,12 +832,12 @@ object frmTracker: TfrmTracker
833 end 832 end
834 end 833 end
835 object WaveVolumeCombobox: TComboBox 834 object WaveVolumeCombobox: TComboBox
836 Left = 182 835 Left = 104
837 Height = 38 836 Height = 23
838 Hint = 'The initial volume of the wave' 837 Hint = 'The initial volume of the wave'
839 Top = 14 838 Top = 8
840 Width = 308 839 Width = 176
841 ItemHeight = 30 840 ItemHeight = 15
842 ItemIndex = 1 841 ItemIndex = 1
843 Items.Strings = ( 842 Items.Strings = (
844 'Mute (No sound)' 843 'Mute (No sound)'
@@ -855,24 +854,24 @@ object frmTracker: TfrmTracker
855 end 854 end
856 object NoiseGroupBox: TGroupBox 855 object NoiseGroupBox: TGroupBox
857 Left = 12 856 Left = 12
858 Height = 390 857 Height = 223
859 Top = 778 858 Top = 778
860 Width = 695 859 Width = 397
861 Anchors = [] 860 Anchors = []
862 BorderSpacing.Left = 12 861 BorderSpacing.Left = 7
863 BorderSpacing.Top = 12 862 BorderSpacing.Top = 7
864 BorderSpacing.Right = 12 863 BorderSpacing.Right = 7
865 BorderSpacing.Bottom = 12 864 BorderSpacing.Bottom = 7
866 Caption = 'Noise' 865 Caption = 'Noise'
867 ClientHeight = 355 866 ClientHeight = 203
868 ClientWidth = 691 867 ClientWidth = 393
869 ParentFont = False 868 ParentFont = False
870 TabOrder = 4 869 TabOrder = 4
871 object SevenBitCounterCheckbox: TCheckBox 870 object SevenBitCounterCheckbox: TCheckBox
872 Left = 14 871 Left = 8
873 Height = 34 872 Height = 34
874 Hint = 'Select LFSR width. When checked, output will sound like a tone rather than noise' 873 Hint = 'Select LFSR width. When checked, output will sound like a tone rather than noise'
875 Top = 14 874 Top = 8
876 Width = 373 875 Width = 373
877 Alignment = taLeftJustify 876 Alignment = taLeftJustify
878 Caption = '7 bit counter (more tone-like output)' 877 Caption = '7 bit counter (more tone-like output)'
@@ -881,13 +880,13 @@ object frmTracker: TfrmTracker
881 TabOrder = 0 880 TabOrder = 0
882 end 881 end
883 object Panel6: TPanel 882 object Panel6: TPanel
884 Left = 14 883 Left = 8
885 Height = 266 884 Height = 152
886 Top = 70 885 Top = 40
887 Width = 658 886 Width = 376
888 BevelOuter = bvLowered 887 BevelOuter = bvLowered
889 ClientHeight = 266 888 ClientHeight = 152
890 ClientWidth = 658 889 ClientWidth = 376
891 ParentFont = False 890 ParentFont = False
892 TabOrder = 1 891 TabOrder = 1
893 object NoiseMacroPaintbox: TPaintBox 892 object NoiseMacroPaintbox: TPaintBox
@@ -920,7 +919,7 @@ object frmTracker: TfrmTracker
920 Width = 1064 919 Width = 1064
921 Align = alBottom 920 Align = alBottom
922 Anchors = [akTop, akLeft, akRight, akBottom] 921 Anchors = [akTop, akLeft, akRight, akBottom]
923 BorderSpacing.Top = 23 922 BorderSpacing.Top = 13
924 ParentFont = False 923 ParentFont = False
925 PopupMenu = WaveEditPopup 924 PopupMenu = WaveEditPopup
926 OnMouseDown = WaveEditPaintBoxMouseDown 925 OnMouseDown = WaveEditPaintBoxMouseDown
@@ -929,61 +928,61 @@ object frmTracker: TfrmTracker
929 OnPaint = WaveEditPaintBoxPaint 928 OnPaint = WaveEditPaintBoxPaint
930 end 929 end
931 object WaveEditGroupBox: TGroupBox 930 object WaveEditGroupBox: TGroupBox
932 Left = 14 931 Left = 8
933 Height = 243 932 Height = 139
934 Top = 14 933 Top = 8
935 Width = 994 934 Width = 568
936 Caption = 'Wave Editor' 935 Caption = 'Wave Editor'
937 ClientHeight = 208 936 ClientHeight = 119
938 ClientWidth = 990 937 ClientWidth = 564
939 ParentFont = False 938 ParentFont = False
940 TabOrder = 0 939 TabOrder = 0
941 object Label20: TLabel 940 object Label20: TLabel
942 Left = 28 941 Left = 16
943 Height = 15 942 Height = 15
944 Top = 28 943 Top = 16
945 Width = 29 944 Width = 29
946 Caption = 'Wave' 945 Caption = 'Wave'
947 ParentColor = False 946 ParentColor = False
948 ParentFont = False 947 ParentFont = False
949 end 948 end
950 object WaveEditNumberSpinner: TSpinEdit 949 object WaveEditNumberSpinner: TSpinEdit
951 Left = 112 950 Left = 64
952 Height = 23 951 Height = 23
953 Top = 14 952 Top = 8
954 Width = 140 953 Width = 80
955 MaxValue = 15 954 MaxValue = 15
956 OnChange = WaveEditNumberSpinnerChange 955 OnChange = WaveEditNumberSpinnerChange
957 ParentFont = False 956 ParentFont = False
958 TabOrder = 0 957 TabOrder = 0
959 end 958 end
960 object ImportWaveButton: TButton 959 object ImportWaveButton: TButton
961 Left = 28 960 Left = 16
962 Height = 44 961 Height = 25
963 Hint = 'Import a wave' 962 Hint = 'Import a wave'
964 Top = 84 963 Top = 48
965 Width = 257 964 Width = 147
966 Caption = 'Import' 965 Caption = 'Import'
967 OnClick = ImportWaveButtonClick 966 OnClick = ImportWaveButtonClick
968 ParentFont = False 967 ParentFont = False
969 TabOrder = 1 968 TabOrder = 1
970 end 969 end
971 object ExportWaveButton: TButton 970 object ExportWaveButton: TButton
972 Left = 28 971 Left = 16
973 Height = 44 972 Height = 25
974 Hint = 'Export a wave' 973 Hint = 'Export a wave'
975 Top = 140 974 Top = 80
976 Width = 257 975 Width = 147
977 Caption = 'Export' 976 Caption = 'Export'
978 OnClick = ExportWaveButtonClick 977 OnClick = ExportWaveButtonClick
979 ParentFont = False 978 ParentFont = False
980 TabOrder = 2 979 TabOrder = 2
981 end 980 end
982 object HexWaveEdit: TEdit 981 object HexWaveEdit: TEdit
983 Left = 504 982 Left = 288
984 Height = 23 983 Height = 23
985 Top = 14 984 Top = 8
986 Width = 462 985 Width = 264
987 MaxLength = 32 986 MaxLength = 32
988 OnChange = HexWaveEditEditingDone 987 OnChange = HexWaveEditEditingDone
989 OnEditingDone = HexWaveEditEditingDone 988 OnEditingDone = HexWaveEditEditingDone
@@ -991,18 +990,18 @@ object frmTracker: TfrmTracker
991 TabOrder = 3 990 TabOrder = 3
992 end 991 end
993 object Label13: TLabel 992 object Label13: TLabel
994 Left = 308 993 Left = 176
995 Height = 15 994 Height = 15
996 Top = 28 995 Top = 16
997 Width = 100 996 Width = 100
998 Caption = 'Hex representation' 997 Caption = 'Hex representation'
999 ParentColor = False 998 ParentColor = False
1000 ParentFont = False 999 ParentFont = False
1001 end 1000 end
1002 object PlayWaveWhileDrawingCheckbox: TCheckBox 1001 object PlayWaveWhileDrawingCheckbox: TCheckBox
1003 Left = 308 1002 Left = 176
1004 Height = 19 1003 Height = 19
1005 Top = 70 1004 Top = 40
1006 Width = 149 1005 Width = 149
1007 Caption = 'Play wave while drawing' 1006 Caption = 'Play wave while drawing'
1008 ParentFont = False 1007 ParentFont = False
@@ -1025,16 +1024,16 @@ object frmTracker: TfrmTracker
1025 Width = 939 1024 Width = 939
1026 Align = alBottom 1025 Align = alBottom
1027 Anchors = [akTop, akLeft, akRight, akBottom] 1026 Anchors = [akTop, akLeft, akRight, akBottom]
1028 BorderSpacing.Top = 23 1027 BorderSpacing.Top = 13
1029 MaxLength = 255 1028 MaxLength = 255
1030 OnChange = CommentMemoChange 1029 OnChange = CommentMemoChange
1031 ParentFont = False 1030 ParentFont = False
1032 TabOrder = 0 1031 TabOrder = 0
1033 end 1032 end
1034 object Label17: TLabel 1033 object Label17: TLabel
1035 Left = 14 1034 Left = 8
1036 Height = 15 1035 Height = 15
1037 Top = 14 1036 Top = 8
1038 Width = 333 1037 Width = 333
1039 Caption = 'This is an area to write comments for anyone editing your tune.' 1038 Caption = 'This is an area to write comments for anyone editing your tune.'
1040 ParentColor = False 1039 ParentColor = False
@@ -1054,16 +1053,16 @@ object frmTracker: TfrmTracker
1054 Top = 128 1053 Top = 128
1055 Width = 1063 1054 Width = 1063
1056 Align = alBottom 1055 Align = alBottom
1057 BorderSpacing.Top = 23 1056 BorderSpacing.Top = 13
1058 Anchors = [akTop, akLeft, akRight, akBottom] 1057 Anchors = [akTop, akLeft, akRight, akBottom]
1059 Font.Height = -23 1058 Font.Height = -13
1060 Font.Name = 'Courier New' 1059 Font.Name = 'Courier New'
1061 Font.Pitch = fpFixed 1060 Font.Pitch = fpFixed
1062 Font.Quality = fqNonAntialiased 1061 Font.Quality = fqNonAntialiased
1063 ParentColor = False 1062 ParentColor = False
1064 ParentFont = False 1063 ParentFont = False
1065 TabOrder = 0 1064 TabOrder = 0
1066 Gutter.Width = 100 1065 Gutter.Width = 57
1067 Gutter.MouseActions = <> 1066 Gutter.MouseActions = <>
1068 RightGutter.Width = 0 1067 RightGutter.Width = 0
1069 RightGutter.MouseActions = <> 1068 RightGutter.MouseActions = <>
@@ -1517,11 +1516,11 @@ object frmTracker: TfrmTracker
1517 OnChange = RoutineSyneditChange 1516 OnChange = RoutineSyneditChange
1518 inline SynLeftGutterPartList1: TSynGutterPartList 1517 inline SynLeftGutterPartList1: TSynGutterPartList
1519 object SynGutterMarks1: TSynGutterMarks 1518 object SynGutterMarks1: TSynGutterMarks
1520 Width = 42 1519 Width = 24
1521 MouseActions = <> 1520 MouseActions = <>
1522 end 1521 end
1523 object SynGutterLineNumber1: TSynGutterLineNumber 1522 object SynGutterLineNumber1: TSynGutterLineNumber
1524 Width = 29 1523 Width = 17
1525 MouseActions = <> 1524 MouseActions = <>
1526 MarkupInfo.Background = clBtnFace 1525 MarkupInfo.Background = clBtnFace
1527 MarkupInfo.Foreground = clNone 1526 MarkupInfo.Foreground = clNone
@@ -1531,19 +1530,18 @@ object frmTracker: TfrmTracker
1531 LeadingZeros = False 1530 LeadingZeros = False
1532 end 1531 end
1533 object SynGutterChanges1: TSynGutterChanges 1532 object SynGutterChanges1: TSynGutterChanges
1534 Width = 7 1533 Width = 4
1535 MouseActions = <> 1534 MouseActions = <>
1536 ModifiedColor = 59900 1535 ModifiedColor = 59900
1537 SavedColor = clGreen 1536 SavedColor = clGreen
1538 end 1537 end
1539 object SynGutterSeparator1: TSynGutterSeparator 1538 object SynGutterSeparator1: TSynGutterSeparator
1540 Width = 4 1539 Width = 2
1541 MouseActions = <> 1540 MouseActions = <>
1542 MarkupInfo.Background = clWhite 1541 MarkupInfo.Background = clWhite
1543 MarkupInfo.Foreground = clGray 1542 MarkupInfo.Foreground = clGray
1544 end 1543 end
1545 object SynGutterCodeFolding1: TSynGutterCodeFolding 1544 object SynGutterCodeFolding1: TSynGutterCodeFolding
1546 Width = 18
1547 MouseActions = <> 1545 MouseActions = <>
1548 MarkupInfo.Background = clNone 1546 MarkupInfo.Background = clNone
1549 MarkupInfo.Foreground = clGray 1547 MarkupInfo.Foreground = clGray
@@ -1553,19 +1551,19 @@ object frmTracker: TfrmTracker
1553 end 1551 end
1554 end 1552 end
1555 object Label18: TLabel 1553 object Label18: TLabel
1556 Left = 14 1554 Left = 8
1557 Height = 15 1555 Height = 15
1558 Top = 28 1556 Top = 16
1559 Width = 41 1557 Width = 41
1560 Caption = 'Routine' 1558 Caption = 'Routine'
1561 ParentColor = False 1559 ParentColor = False
1562 ParentFont = False 1560 ParentFont = False
1563 end 1561 end
1564 object RoutineNumberSpinner: TSpinEdit 1562 object RoutineNumberSpinner: TSpinEdit
1565 Left = 112 1563 Left = 64
1566 Height = 23 1564 Height = 23
1567 Top = 14 1565 Top = 8
1568 Width = 308 1566 Width = 176
1569 MaxValue = 15 1567 MaxValue = 15
1570 OnChange = RoutineNumberSpinnerChange 1568 OnChange = RoutineNumberSpinnerChange
1571 ParentFont = False 1569 ParentFont = False
@@ -1573,9 +1571,9 @@ object frmTracker: TfrmTracker
1573 Value = 1 1571 Value = 1
1574 end 1572 end
1575 object Label19: TLabel 1573 object Label19: TLabel
1576 Left = 14 1574 Left = 8
1577 Height = 75 1575 Height = 75
1578 Top = 70 1576 Top = 40
1579 Width = 506 1577 Width = 506
1580 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!' 1578 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!'
1581 ParentColor = False 1579 ParentColor = False
@@ -1586,21 +1584,21 @@ object frmTracker: TfrmTracker
1586 end 1584 end
1587 object Panel2: TPanel 1585 object Panel2: TPanel
1588 Left = 0 1586 Left = 0
1589 Height = 112 1587 Height = 64
1590 Top = 41 1588 Top = 25
1591 Width = 2156 1589 Width = 1232
1592 Align = alTop 1590 Align = alTop
1593 BevelOuter = bvNone 1591 BevelOuter = bvNone
1594 ClientHeight = 112 1592 ClientHeight = 64
1595 ClientWidth = 2156 1593 ClientWidth = 1232
1596 ParentFont = False 1594 ParentFont = False
1597 TabOrder = 3 1595 TabOrder = 3
1598 object LEDMeter1: TLEDMeter 1596 object LEDMeter1: TLEDMeter
1599 AnchorSideRight.Control = Duty1Visualizer 1597 AnchorSideRight.Control = Duty1Visualizer
1600 Left = 0 1598 Left = 0
1601 Height = 56 1599 Height = 32
1602 Top = 56 1600 Top = 32
1603 Width = 776 1601 Width = 444
1604 Anchors = [akTop, akLeft, akRight] 1602 Anchors = [akTop, akLeft, akRight]
1605 BevelStyle = bvLowered 1603 BevelStyle = bvLowered
1606 Colors.Border = 2168839 1604 Colors.Border = 2168839
@@ -1621,9 +1619,9 @@ object frmTracker: TfrmTracker
1621 object LEDMeter2: TLEDMeter 1619 object LEDMeter2: TLEDMeter
1622 AnchorSideRight.Control = Duty1Visualizer 1620 AnchorSideRight.Control = Duty1Visualizer
1623 Left = 0 1621 Left = 0
1624 Height = 56 1622 Height = 32
1625 Top = 0 1623 Top = 0
1626 Width = 776 1624 Width = 444
1627 Anchors = [akTop, akLeft, akRight] 1625 Anchors = [akTop, akLeft, akRight]
1628 BevelStyle = bvLowered 1626 BevelStyle = bvLowered
1629 Colors.Border = 2168839 1627 Colors.Border = 2168839
@@ -1642,40 +1640,40 @@ object frmTracker: TfrmTracker
1642 Section3Value = 48 1640 Section3Value = 48
1643 end 1641 end
1644 object Duty1Visualizer: TPaintBox 1642 object Duty1Visualizer: TPaintBox
1645 Left = 776 1643 Left = 444
1646 Height = 112 1644 Height = 64
1647 Top = 0 1645 Top = 0
1648 Width = 345 1646 Width = 197
1649 Align = alRight 1647 Align = alRight
1650 ParentFont = False 1648 ParentFont = False
1651 OnClick = Duty1VisualizerClick 1649 OnClick = Duty1VisualizerClick
1652 OnPaint = Duty1VisualizerPaint 1650 OnPaint = Duty1VisualizerPaint
1653 end 1651 end
1654 object Duty2Visualizer: TPaintBox 1652 object Duty2Visualizer: TPaintBox
1655 Left = 1121 1653 Left = 641
1656 Height = 112 1654 Height = 64
1657 Top = 0 1655 Top = 0
1658 Width = 345 1656 Width = 197
1659 Align = alRight 1657 Align = alRight
1660 ParentFont = False 1658 ParentFont = False
1661 OnClick = Duty1VisualizerClick 1659 OnClick = Duty1VisualizerClick
1662 OnPaint = Duty2VisualizerPaint 1660 OnPaint = Duty2VisualizerPaint
1663 end 1661 end
1664 object WaveVisualizer: TPaintBox 1662 object WaveVisualizer: TPaintBox
1665 Left = 1466 1663 Left = 838
1666 Height = 112 1664 Height = 64
1667 Top = 0 1665 Top = 0
1668 Width = 345 1666 Width = 197
1669 Align = alRight 1667 Align = alRight
1670 ParentFont = False 1668 ParentFont = False
1671 OnClick = Duty1VisualizerClick 1669 OnClick = Duty1VisualizerClick
1672 OnPaint = WaveVisualizerPaint 1670 OnPaint = WaveVisualizerPaint
1673 end 1671 end
1674 object NoiseVisualizer: TPaintBox 1672 object NoiseVisualizer: TPaintBox
1675 Left = 1811 1673 Left = 1035
1676 Height = 112 1674 Height = 64
1677 Top = 0 1675 Top = 0
1678 Width = 345 1676 Width = 197
1679 Align = alRight 1677 Align = alRight
1680 ParentFont = False 1678 ParentFont = False
1681 OnClick = Duty1VisualizerClick 1679 OnClick = Duty1VisualizerClick
@@ -1684,19 +1682,19 @@ object frmTracker: TfrmTracker
1684 end 1682 end
1685 object StatusBar1: TStatusBar 1683 object StatusBar1: TStatusBar
1686 Left = 0 1684 Left = 0
1687 Height = 43 1685 Height = 23
1688 Top = 1066 1686 Top = 610
1689 Width = 2156 1687 Width = 1232
1690 AutoHint = True 1688 AutoHint = True
1691 Panels = < 1689 Panels = <
1692 item 1690 item
1693 Width = 817 1691 Width = 467
1694 end 1692 end
1695 item 1693 item
1696 Width = 350 1694 Width = 200
1697 end 1695 end
1698 item 1696 item
1699 Width = 350 1697 Width = 200
1700 end> 1698 end>
1701 ParentFont = False 1699 ParentFont = False
1702 ParentShowHint = False 1700 ParentShowHint = False
@@ -1705,9 +1703,9 @@ object frmTracker: TfrmTracker
1705 end 1703 end
1706 object ToolBar1: TToolBar 1704 object ToolBar1: TToolBar
1707 Left = 0 1705 Left = 0
1708 Height = 41 1706 Height = 25
1709 Top = 0 1707 Top = 0
1710 Width = 2156 1708 Width = 1232
1711 AutoSize = True 1709 AutoSize = True
1712 Caption = 'ToolBar1' 1710 Caption = 'ToolBar1'
1713 EdgeBorders = [ebBottom] 1711 EdgeBorders = [ebBottom]
@@ -1724,7 +1722,7 @@ object frmTracker: TfrmTracker
1724 ParentShowHint = False 1722 ParentShowHint = False
1725 end 1723 end
1726 object PanicToolButton: TToolButton 1724 object PanicToolButton: TToolButton
1727 Left = 839 1725 Left = 551
1728 Hint = 'Stops all sound output' 1726 Hint = 'Stops all sound output'
1729 Top = 0 1727 Top = 0
1730 AutoSize = True 1728 AutoSize = True
@@ -1735,17 +1733,17 @@ object frmTracker: TfrmTracker
1735 ShowHint = True 1733 ShowHint = True
1736 end 1734 end
1737 object ToolButton2: TToolButton 1735 object ToolButton2: TToolButton
1738 Left = 217 1736 Left = 145
1739 Top = 0 1737 Top = 0
1740 Action = PlayCursorAction 1738 Action = PlayCursorAction
1741 end 1739 end
1742 object ToolButton4: TToolButton 1740 object ToolButton4: TToolButton
1743 Left = 327 1741 Left = 219
1744 Top = 0 1742 Top = 0
1745 Action = StopAction 1743 Action = StopAction
1746 end 1744 end
1747 object ExportGBButton: TToolButton 1745 object ExportGBButton: TToolButton
1748 Left = 434 1746 Left = 287
1749 Hint = 'Export the song as a standalone ROM' 1747 Hint = 'Export the song as a standalone ROM'
1750 Top = 0 1748 Top = 0
1751 AutoSize = True 1749 AutoSize = True
@@ -1754,49 +1752,49 @@ object frmTracker: TfrmTracker
1754 OnClick = ExportGBButtonClick 1752 OnClick = ExportGBButtonClick
1755 end 1753 end
1756 object ToolButton8: TToolButton 1754 object ToolButton8: TToolButton
1757 Left = 120 1755 Left = 79
1758 Height = 39 1756 Height = 22
1759 Top = 0 1757 Top = 0
1760 Caption = 'ToolButton8' 1758 Caption = 'ToolButton8'
1761 Style = tbsDivider 1759 Style = tbsDivider
1762 end 1760 end
1763 object ToolButton6: TToolButton 1761 object ToolButton6: TToolButton
1764 Left = 429 1762 Left = 284
1765 Height = 39 1763 Height = 22
1766 Top = 0 1764 Top = 0
1767 Caption = 'ToolButton6' 1765 Caption = 'ToolButton6'
1768 Style = tbsDivider 1766 Style = tbsDivider
1769 end 1767 end
1770 object ToolButton7: TToolButton 1768 object ToolButton7: TToolButton
1771 Left = 1757 1769 Left = 1088
1772 Height = 39 1770 Height = 22
1773 Top = 0 1771 Top = 0
1774 Caption = 'ToolButton7' 1772 Caption = 'ToolButton7'
1775 Style = tbsSeparator 1773 Style = tbsSeparator
1776 end 1774 end
1777 object OctaveSpinEdit: TSpinEdit 1775 object OctaveSpinEdit: TSpinEdit
1778 Left = 998 1776 Left = 654
1779 Height = 38 1777 Height = 23
1780 Hint = 'The octave offset for entering new notes' 1778 Hint = 'The octave offset for entering new notes'
1781 Top = 0 1779 Top = 0
1782 Width = 114 1780 Width = 65
1783 MaxValue = 5 1781 MaxValue = 5
1784 OnChange = OctaveSpinEditChange 1782 OnChange = OctaveSpinEditChange
1785 ParentFont = False 1783 ParentFont = False
1786 TabOrder = 0 1784 TabOrder = 0
1787 end 1785 end
1788 object ToolButton9: TToolButton 1786 object ToolButton9: TToolButton
1789 Left = 915 1787 Left = 606
1790 Height = 39 1788 Height = 22
1791 Top = 0 1789 Top = 0
1792 Caption = 'ToolButton9' 1790 Caption = 'ToolButton9'
1793 Style = tbsSeparator 1791 Style = tbsSeparator
1794 end 1792 end
1795 object Label22: TLabel 1793 object Label22: TLabel
1796 Left = 923 1794 Left = 611
1797 Height = 39 1795 Height = 22
1798 Top = 0 1796 Top = 0
1799 Width = 75 1797 Width = 43
1800 AutoSize = False 1798 AutoSize = False
1801 Caption = 'Octave ' 1799 Caption = 'Octave '
1802 Layout = tlCenter 1800 Layout = tlCenter
@@ -1804,10 +1802,10 @@ object frmTracker: TfrmTracker
1804 ParentFont = False 1802 ParentFont = False
1805 end 1803 end
1806 object Label23: TLabel 1804 object Label23: TLabel
1807 Left = 1112 1805 Left = 719
1808 Height = 39 1806 Height = 22
1809 Top = 0 1807 Top = 0
1810 Width = 122 1808 Width = 70
1811 AutoSize = False 1809 AutoSize = False
1812 Caption = ' Instrument ' 1810 Caption = ' Instrument '
1813 Layout = tlCenter 1811 Layout = tlCenter
@@ -1815,13 +1813,13 @@ object frmTracker: TfrmTracker
1815 ParentFont = False 1813 ParentFont = False
1816 end 1814 end
1817 object InstrumentComboBox: TComboBox 1815 object InstrumentComboBox: TComboBox
1818 Left = 1234 1816 Left = 789
1819 Height = 38 1817 Height = 23
1820 Hint = 'The selected instrument for new notes' 1818 Hint = 'The selected instrument for new notes'
1821 Top = 0 1819 Top = 0
1822 Width = 374 1820 Width = 214
1823 DropDownCount = 999 1821 DropDownCount = 999
1824 ItemHeight = 30 1822 ItemHeight = 15
1825 ItemIndex = 0 1823 ItemIndex = 0
1826 Items.Strings = ( 1824 Items.Strings = (
1827 '(no instrument)' 1825 '(no instrument)'
@@ -1833,10 +1831,10 @@ object frmTracker: TfrmTracker
1833 Text = '(no instrument)' 1831 Text = '(no instrument)'
1834 end 1832 end
1835 object Label24: TLabel 1833 object Label24: TLabel
1836 Left = 1608 1834 Left = 1003
1837 Height = 39 1835 Height = 22
1838 Top = 0 1836 Top = 0
1839 Width = 61 1837 Width = 35
1840 AutoSize = False 1838 AutoSize = False
1841 Caption = ' Step ' 1839 Caption = ' Step '
1842 Layout = tlCenter 1840 Layout = tlCenter
@@ -1844,23 +1842,23 @@ object frmTracker: TfrmTracker
1844 ParentFont = False 1842 ParentFont = False
1845 end 1843 end
1846 object StepSpinEdit: TSpinEdit 1844 object StepSpinEdit: TSpinEdit
1847 Left = 1669 1845 Left = 1038
1848 Height = 38 1846 Height = 23
1849 Hint = 'How many rows to step down after entering a new note' 1847 Hint = 'How many rows to step down after entering a new note'
1850 Top = 0 1848 Top = 0
1851 Width = 88 1849 Width = 50
1852 MaxValue = 63 1850 MaxValue = 63
1853 OnChange = StepSpinEditChange 1851 OnChange = StepSpinEditChange
1854 ParentFont = False 1852 ParentFont = False
1855 TabOrder = 2 1853 TabOrder = 2
1856 end 1854 end
1857 object ToolButton3: TToolButton 1855 object ToolButton3: TToolButton
1858 Left = 125 1856 Left = 82
1859 Top = 0 1857 Top = 0
1860 Action = PlayStartAction 1858 Action = PlayStartAction
1861 end 1859 end
1862 object ExportGBSButton: TToolButton 1860 object ExportGBSButton: TToolButton
1863 Left = 556 1861 Left = 368
1864 Hint = 'Export the song as a GBS soundtrack' 1862 Hint = 'Export the song as a GBS soundtrack'
1865 Top = 0 1863 Top = 0
1866 Caption = 'Export .GBS' 1864 Caption = 'Export .GBS'
@@ -1868,14 +1866,14 @@ object frmTracker: TfrmTracker
1868 OnClick = ExportGBSButtonClick 1866 OnClick = ExportGBSButtonClick
1869 end 1867 end
1870 object ToolButton5: TToolButton 1868 object ToolButton5: TToolButton
1871 Left = 834 1869 Left = 548
1872 Height = 39 1870 Height = 22
1873 Top = 0 1871 Top = 0
1874 Caption = 'ToolButton5' 1872 Caption = 'ToolButton5'
1875 Style = tbsDivider 1873 Style = tbsDivider
1876 end 1874 end
1877 object ToolButton10: TToolButton 1875 object ToolButton10: TToolButton
1878 Left = 689 1876 Left = 455
1879 Hint = 'Export the song as WAV or MP3' 1877 Hint = 'Export the song as WAV or MP3'
1880 Top = 0 1878 Top = 0
1881 Caption = 'Render Song' 1879 Caption = 'Render Song'
@@ -1885,8 +1883,8 @@ object frmTracker: TfrmTracker
1885 end 1883 end
1886 object MainMenu1: TMainMenu 1884 object MainMenu1: TMainMenu
1887 Images = ImageList1 1885 Images = ImageList1
1888 Left = 70 1886 Left = 40
1889 Top = 56 1887 Top = 32
1890 object MenuItem1: TMenuItem 1888 object MenuItem1: TMenuItem
1891 Caption = 'File' 1889 Caption = 'File'
1892 object MenuItem33: TMenuItem 1890 object MenuItem33: TMenuItem
@@ -2026,8 +2024,8 @@ object frmTracker: TfrmTracker
2026 end 2024 end
2027 object MenuBarActionList: TActionList 2025 object MenuBarActionList: TActionList
2028 Images = ImageList1 2026 Images = ImageList1
2029 Left = 182 2027 Left = 104
2030 Top = 126 2028 Top = 72
2031 object FileOpen1: TFileOpen 2029 object FileOpen1: TFileOpen
2032 Category = 'File' 2030 Category = 'File'
2033 Caption = '&Open ...' 2031 Caption = '&Open ...'
@@ -2130,8 +2128,8 @@ object frmTracker: TfrmTracker
2130 end 2128 end
2131 end 2129 end
2132 object ImageList1: TImageList 2130 object ImageList1: TImageList
2133 Left = 266 2131 Left = 152
2134 Top = 56 2132 Top = 32
2135 Bitmap = { 2133 Bitmap = {
2136 4C694E0000001000000010000000000000000000000000000000000000000000 2134 4C694E0000001000000010000000000000000000000000000000000000000000
2137 0000000000000000000000000000000000000000000000000000000000000000 2135 0000000000000000000000000000000000000000000000000000000000000000
@@ -4634,17 +4632,17 @@ object frmTracker: TfrmTracker
4634 end 4632 end
4635 object OpenDialog1: TOpenDialog 4633 object OpenDialog1: TOpenDialog
4636 Filter = 'hUGETracker Instruments|*.ugi' 4634 Filter = 'hUGETracker Instruments|*.ugi'
4637 Left = 140 4635 Left = 80
4638 Top = 98 4636 Top = 56
4639 end 4637 end
4640 object InstrumentSaveDialog: TSaveDialog 4638 object InstrumentSaveDialog: TSaveDialog
4641 Filter = 'hUGETracker Instruments|*.ugi' 4639 Filter = 'hUGETracker Instruments|*.ugi'
4642 Left = 140 4640 Left = 80
4643 Top = 98 4641 Top = 56
4644 end 4642 end
4645 object OrderEditPopup: TPopupMenu 4643 object OrderEditPopup: TPopupMenu
4646 Left = 224 4644 Left = 128
4647 Top = 70 4645 Top = 40
4648 object MenuItem17: TMenuItem 4646 object MenuItem17: TMenuItem
4649 Caption = 'Insert new row' 4647 Caption = 'Insert new row'
4650 Hint = 'Insert a new row filled with brand new patterns' 4648 Hint = 'Insert a new row filled with brand new patterns'
@@ -4675,8 +4673,8 @@ object frmTracker: TfrmTracker
4675 object ImageList2: TImageList 4673 object ImageList2: TImageList
4676 Height = 32 4674 Height = 32
4677 Width = 32 4675 Width = 32
4678 Left = 84 4676 Left = 48
4679 Top = 151 4677 Top = 86
4680 Bitmap = { 4678 Bitmap = {
4681 4C69020000002000000020000000000000000000000000000000000000000000 4679 4C69020000002000000020000000000000000000000000000000000000000000
4682 0000000000000000000000000000000000000000000000000000000000000000 4680 0000000000000000000000000000000000000000000000000000000000000000
@@ -4941,33 +4939,33 @@ object frmTracker: TfrmTracker
4941 Enabled = False 4939 Enabled = False
4942 Interval = 200 4940 Interval = 200
4943 OnTimer = OscilloscopeUpdateTimerTimer 4941 OnTimer = OscilloscopeUpdateTimerTimer
4944 Left = 154 4942 Left = 88
4945 Top = 84 4943 Top = 48
4946 end 4944 end
4947 object GBSSaveDialog: TSaveDialog 4945 object GBSSaveDialog: TSaveDialog
4948 Filter = 'Gameboy Soundtrack|*.gbs' 4946 Filter = 'Gameboy Soundtrack|*.gbs'
4949 Left = 504 4947 Left = 288
4950 Top = 42 4948 Top = 24
4951 end 4949 end
4952 object WaveSaveDialog: TSaveDialog 4950 object WaveSaveDialog: TSaveDialog
4953 Filter = 'hUGETracker Waves|*.ugw' 4951 Filter = 'hUGETracker Waves|*.ugw'
4954 Left = 644 4952 Left = 368
4955 Top = 42 4953 Top = 24
4956 end 4954 end
4957 object GBSaveDialog: TSaveDialog 4955 object GBSaveDialog: TSaveDialog
4958 Filter = 'Gameboy ROM|*.GB' 4956 Filter = 'Gameboy ROM|*.GB'
4959 Left = 574 4957 Left = 328
4960 Top = 42 4958 Top = 24
4961 end 4959 end
4962 object NoteHaltTimer: TTimer 4960 object NoteHaltTimer: TTimer
4963 Enabled = False 4961 Enabled = False
4964 OnTimer = NoteHaltTimerTimer 4962 OnTimer = NoteHaltTimerTimer
4965 Left = 140 4963 Left = 80
4966 Top = 151 4964 Top = 86
4967 end 4965 end
4968 object TrackerGridPopup: TPopupMenu 4966 object TrackerGridPopup: TPopupMenu
4969 Left = 168 4967 Left = 96
4970 Top = 42 4968 Top = 24
4971 object TrackerPopupEditEffect: TMenuItem 4969 object TrackerPopupEditEffect: TMenuItem
4972 Caption = 'Edit effect ...' 4970 Caption = 'Edit effect ...'
4973 OnClick = TrackerPopupEditEffectClick 4971 OnClick = TrackerPopupEditEffectClick
@@ -5114,8 +5112,8 @@ object frmTracker: TfrmTracker
5114 object WavSaveDialog: TSaveDialog 5112 object WavSaveDialog: TSaveDialog
5115 DefaultExt = '.wav' 5113 DefaultExt = '.wav'
5116 Filter = 'Wave files|*.wav' 5114 Filter = 'Wave files|*.wav'
5117 Left = 714 5115 Left = 408
5118 Top = 42 5116 Top = 24
5119 end 5117 end
5120 object SynAnySyn1: TSynAnySyn 5118 object SynAnySyn1: TSynAnySyn
5121 Enabled = False 5119 Enabled = False
@@ -5239,18 +5237,18 @@ object frmTracker: TfrmTracker
5239 Entity = False 5237 Entity = False
5240 DollarVariables = False 5238 DollarVariables = False
5241 ActiveDot = False 5239 ActiveDot = False
5242 Left = 14 5240 Left = 8
5243 Top = 151 5241 Top = 86
5244 end 5242 end
5245 object MODOpenDialog: TOpenDialog 5243 object MODOpenDialog: TOpenDialog
5246 DefaultExt = '.mod' 5244 DefaultExt = '.mod'
5247 Filter = 'GBT Player MOD files|*.mod' 5245 Filter = 'GBT Player MOD files|*.mod'
5248 Left = 784 5246 Left = 448
5249 Top = 56 5247 Top = 32
5250 end 5248 end
5251 object WaveEditPopup: TPopupMenu 5249 object WaveEditPopup: TPopupMenu
5252 Left = 14 5250 Left = 8
5253 Top = 56 5251 Top = 32
5254 object MenuItem37: TMenuItem 5252 object MenuItem37: TMenuItem
5255 Caption = 'Copy' 5253 Caption = 'Copy'
5256 OnClick = MenuItem37Click 5254 OnClick = MenuItem37Click
@@ -5262,8 +5260,8 @@ object frmTracker: TfrmTracker
5262 end 5260 end
5263 object ShortcutsActionList: TActionList 5261 object ShortcutsActionList: TActionList
5264 Images = ImageList1 5262 Images = ImageList1
5265 Left = 364 5263 Left = 208
5266 Top = 56 5264 Top = 32
5267 object PlayStartAction: TAction 5265 object PlayStartAction: TAction
5268 Caption = '▶️ Start' 5266 Caption = '▶️ Start'
5269 DisableIfNoHandler = False 5267 DisableIfNoHandler = False
@@ -5378,12 +5376,12 @@ object frmTracker: TfrmTracker
5378 end 5376 end
5379 object GBDKCSaveDialog: TSaveDialog 5377 object GBDKCSaveDialog: TSaveDialog
5380 Filter = 'GBDK C File|*.c' 5378 Filter = 'GBDK C File|*.c'
5381 Left = 434 5379 Left = 248
5382 Top = 42 5380 Top = 24
5383 end 5381 end
5384 object RGBDSAsmSaveDialog: TSaveDialog 5382 object RGBDSAsmSaveDialog: TSaveDialog
5385 Filter = 'RGBDS Assembly|*.asm' 5383 Filter = 'RGBDS Assembly|*.asm'
5386 Left = 434 5384 Left = 248
5387 Top = 112 5385 Top = 64
5388 end 5386 end
5389 end 5387 end
Modifiedtracker.pas +6−5
@@ -14,6 +14,8 @@ uses
14 14
15 // TODO: Move to config file? 15 // TODO: Move to config file?
16 const 16 const
17 MaintainerEmail = '[email protected]';
18 MaintainerDiscord = 'SuperDisk#5726';
17 clGameboyBlack = TColor($211807); 19 clGameboyBlack = TColor($211807);
18 clGameboyMidGreen = TColor($6CC086); 20 clGameboyMidGreen = TColor($6CC086);
19 // TODO: Move somewhere else... 21 // TODO: Move somewhere else...
@@ -1224,10 +1226,9 @@ begin
1224 'An exception in hUGETracker has occured.' + LineEnding + 1226 'An exception in hUGETracker has occured.' + LineEnding +
1225 'Your song has been backed up to the hUGETracker folder, so don''t worry!' + LineEnding+LineEnding+ 1227 'Your song has been backed up to the hUGETracker folder, so don''t worry!' + LineEnding+LineEnding+
1226 'Please report this issue on GitHub, or contact me directly via Discord or Email.'+LineEnding+LineEnding+ 1228 'Please report this issue on GitHub, or contact me directly via Discord or Email.'+LineEnding+LineEnding+
1227 'Email: [email protected]'+LineEnding+ 1229 'Email: '+MaintainerEmail+LineEnding+
1228 'Discord: SuperDisk#5726'+LineEnding+LineEnding+ 1230 'Discord: '+MaintainerDiscord+LineEnding+LineEnding+
1229 'The error is: '+E.ClassName+' with message '+E.Message+LineEnding+LineEnding+ 1231 'The error is: '+E.ClassName+' with message '+E.Message,
1230 'Thank you.',
1231 mtError, 1232 mtError,
1232 [mbOK], 0); 1233 [mbOK], 0);
1233 1234
@@ -2441,7 +2442,7 @@ end;
2441 2442
2442 procedure TfrmTracker.TreeView1DblClick(Sender: TObject); 2443 procedure TfrmTracker.TreeView1DblClick(Sender: TObject);
2443 begin 2444 begin
2444 if TreeView1.Selected = nil then Exit; 2445 if not Assigned(TreeView1.Selected) then Exit;
2445 2446
2446 if TreeView1.Selected.Parent = DutyInstrumentsNode then begin 2447 if TreeView1.Selected.Parent = DutyInstrumentsNode then begin
2447 LoadInstrument(itSquare, {%H-}PtrUInt(TreeView1.Selected.Data)); 2448 LoadInstrument(itSquare, {%H-}PtrUInt(TreeView1.Selected.Data));