Commit 8c0850b

Nick committed on
Implementing #3 and #4
commit 8c0850baaeffc82e0bb1b15d1a30d791a40803eb parent 21c58be
3 changed files +172−132
Modifiedtracker.lfm +125−115
@@ -1,11 +1,11 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1832 2 Left = 1888
3 Height = 688 3 Height = 726
4 Top = 19 4 Top = 59
5 Width = 1166 5 Width = 1180
6 Caption = 'hUGETracker' 6 Caption = 'hUGETracker'
7 ClientHeight = 668 7 ClientHeight = 706
8 ClientWidth = 1166 8 ClientWidth = 1180
9 KeyPreview = True 9 KeyPreview = True
10 Menu = MainMenu1 10 Menu = MainMenu1
11 OnClose = FormClose 11 OnClose = FormClose
@@ -19,7 +19,7 @@ object frmTracker: TfrmTracker
19 LCLVersion = '2.0.6.0' 19 LCLVersion = '2.0.6.0'
20 object TreeView1: TTreeView 20 object TreeView1: TTreeView
21 Left = 0 21 Left = 0
22 Height = 442 22 Height = 480
23 Top = 203 23 Top = 203
24 Width = 193 24 Width = 193
25 Align = alLeft 25 Align = alLeft
@@ -29,43 +29,46 @@ object frmTracker: TfrmTracker
29 OnDblClick = TreeView1DblClick 29 OnDblClick = TreeView1DblClick
30 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] 30 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
31 Items.Data = { 31 Items.Data = {
32 F9FFFFFF020003000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 32 F9FFFFFF020003000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF030000000000
33 0000000B000000496E737472756D656E7473FFFFFFFFFFFFFFFFFFFFFFFFFFFF 33 0000010B000000496E737472756D656E7473FFFFFFFFFFFFFFFFFFFFFFFFFFFF
34 FFFF000000000000000000050000005761766573FFFFFFFFFFFFFFFFFFFFFFFF 34 FFFF0000000000000000000400000044757479FFFFFFFFFFFFFFFFFFFFFFFFFF
35 FFFFFFFF00000000000000000008000000526F7574696E6573 35 FFFFFF0000000000000000000400000057617665FFFFFFFFFFFFFFFFFFFFFFFF
36 FFFFFFFF000000000000000000050000004E6F697365FFFFFFFFFFFFFFFFFFFF
37 FFFFFFFFFFFF000000000000000000050000005761766573FFFFFFFFFFFFFFFF
38 FFFFFFFFFFFFFFFF00000000000000000008000000526F7574696E6573
36 } 39 }
37 end 40 end
38 object Splitter1: TSplitter 41 object Splitter1: TSplitter
39 Left = 193 42 Left = 193
40 Height = 442 43 Height = 480
41 Top = 203 44 Top = 203
42 Width = 5 45 Width = 5
43 end 46 end
44 object Panel1: TPanel 47 object Panel1: TPanel
45 Left = 198 48 Left = 198
46 Height = 442 49 Height = 480
47 Top = 203 50 Top = 203
48 Width = 968 51 Width = 982
49 Align = alClient 52 Align = alClient
50 BevelOuter = bvNone 53 BevelOuter = bvNone
51 ClientHeight = 442 54 ClientHeight = 480
52 ClientWidth = 968 55 ClientWidth = 982
53 ParentFont = False 56 ParentFont = False
54 TabOrder = 2 57 TabOrder = 2
55 object PageControl1: TPageControl 58 object PageControl1: TPageControl
56 Left = 0 59 Left = 0
57 Height = 442 60 Height = 480
58 Top = 0 61 Top = 0
59 Width = 968 62 Width = 982
60 ActivePage = InstrumentTabSheet 63 ActivePage = GeneralTabSheet
61 Align = alClient 64 Align = alClient
62 ParentFont = False 65 ParentFont = False
63 TabIndex = 2 66 TabIndex = 0
64 TabOrder = 0 67 TabOrder = 0
65 object GeneralTabSheet: TTabSheet 68 object GeneralTabSheet: TTabSheet
66 Caption = 'General' 69 Caption = 'General'
67 ClientHeight = 414 70 ClientHeight = 452
68 ClientWidth = 960 71 ClientWidth = 974
69 ParentFont = False 72 ParentFont = False
70 object SongInformationGroupbox: TGroupBox 73 object SongInformationGroupbox: TGroupBox
71 Left = 8 74 Left = 8
@@ -141,17 +144,17 @@ object frmTracker: TfrmTracker
141 end 144 end
142 object PatternTabSheet: TTabSheet 145 object PatternTabSheet: TTabSheet
143 Caption = 'Patterns' 146 Caption = 'Patterns'
144 ClientHeight = 414 147 ClientHeight = 452
145 ClientWidth = 960 148 ClientWidth = 974
146 ParentFont = False 149 ParentFont = False
147 object Panel3: TPanel 150 object Panel3: TPanel
148 Left = 224 151 Left = 224
149 Height = 414 152 Height = 452
150 Top = 0 153 Top = 0
151 Width = 736 154 Width = 750
152 Align = alClient 155 Align = alClient
153 ClientHeight = 414 156 ClientHeight = 452
154 ClientWidth = 736 157 ClientWidth = 750
155 ParentFont = False 158 ParentFont = False
156 TabOrder = 0 159 TabOrder = 0
157 object HeaderControl1: THeaderControl 160 object HeaderControl1: THeaderControl
@@ -159,7 +162,7 @@ object frmTracker: TfrmTracker
159 Height = 30 162 Height = 30
160 Hint = 'Left click to mute, right click to solo' 163 Hint = 'Left click to mute, right click to solo'
161 Top = 1 164 Top = 1
162 Width = 734 165 Width = 748
163 DragReorder = False 166 DragReorder = False
164 Images = ImageList2 167 Images = ImageList2
165 Sections = < 168 Sections = <
@@ -199,9 +202,9 @@ object frmTracker: TfrmTracker
199 end 202 end
200 object ScrollBox1: TScrollBox 203 object ScrollBox1: TScrollBox
201 Left = 1 204 Left = 1
202 Height = 382 205 Height = 420
203 Top = 31 206 Top = 31
204 Width = 734 207 Width = 748
205 HorzScrollBar.Increment = 1 208 HorzScrollBar.Increment = 1
206 HorzScrollBar.Page = 1 209 HorzScrollBar.Page = 1
207 HorzScrollBar.Smooth = True 210 HorzScrollBar.Smooth = True
@@ -220,7 +223,7 @@ object frmTracker: TfrmTracker
220 end 223 end
221 object OrderEditStringGrid: TStringGrid 224 object OrderEditStringGrid: TStringGrid
222 Left = 0 225 Left = 0
223 Height = 414 226 Height = 452
224 Top = 0 227 Top = 0
225 Width = 224 228 Width = 224
226 Align = alLeft 229 Align = alLeft
@@ -285,18 +288,18 @@ object frmTracker: TfrmTracker
285 end 288 end
286 object InstrumentTabSheet: TTabSheet 289 object InstrumentTabSheet: TTabSheet
287 Caption = 'Instruments' 290 Caption = 'Instruments'
288 ClientHeight = 414 291 ClientHeight = 452
289 ClientWidth = 960 292 ClientWidth = 974
290 ParentFont = False 293 ParentFont = False
291 object PaintBox1: TPaintBox 294 object PaintBox1: TPaintBox
292 AnchorSideTop.Control = FlowPanel1 295 AnchorSideTop.Control = FlowPanel1
293 AnchorSideTop.Side = asrBottom 296 AnchorSideTop.Side = asrBottom
294 AnchorSideBottom.Side = asrBottom 297 AnchorSideBottom.Side = asrBottom
295 Left = 0 298 Left = 0
296 Height = 9 299 Height = 14
297 Hint = 'Preview of how the resulting waveform will look with envelope applied' 300 Hint = 'Preview of how the resulting waveform will look with envelope applied'
298 Top = 405 301 Top = 438
299 Width = 960 302 Width = 974
300 Align = alClient 303 Align = alClient
301 Color = clBlack 304 Color = clBlack
302 ParentColor = False 305 ParentColor = False
@@ -306,9 +309,9 @@ object frmTracker: TfrmTracker
306 end 309 end
307 object FlowPanel1: TFlowPanel 310 object FlowPanel1: TFlowPanel
308 Left = 0 311 Left = 0
309 Height = 405 312 Height = 438
310 Top = 0 313 Top = 0
311 Width = 960 314 Width = 974
312 Align = alTop 315 Align = alTop
313 AutoSize = True 316 AutoSize = True
314 BevelOuter = bvNone 317 BevelOuter = bvNone
@@ -344,7 +347,7 @@ object frmTracker: TfrmTracker
344 TabOrder = 0 347 TabOrder = 0
345 object InstrumentGroupBox: TGroupBox 348 object InstrumentGroupBox: TGroupBox
346 Left = 7 349 Left = 7
347 Height = 208 350 Height = 241
348 Top = 7 351 Top = 7
349 Width = 271 352 Width = 271
350 Anchors = [] 353 Anchors = []
@@ -353,7 +356,7 @@ object frmTracker: TfrmTracker
353 BorderSpacing.Right = 7 356 BorderSpacing.Right = 7
354 BorderSpacing.Bottom = 7 357 BorderSpacing.Bottom = 7
355 Caption = 'Instrument' 358 Caption = 'Instrument'
356 ClientHeight = 188 359 ClientHeight = 221
357 ClientWidth = 267 360 ClientWidth = 267
358 ParentFont = False 361 ParentFont = False
359 TabOrder = 0 362 TabOrder = 0
@@ -361,7 +364,7 @@ object frmTracker: TfrmTracker
361 Left = 80 364 Left = 80
362 Height = 23 365 Height = 23
363 Hint = 'What instrument to edit' 366 Hint = 'What instrument to edit'
364 Top = 1 367 Top = 38
365 Width = 176 368 Width = 176
366 MaxValue = 15 369 MaxValue = 15
367 MinValue = 1 370 MinValue = 1
@@ -373,7 +376,7 @@ object frmTracker: TfrmTracker
373 object Label1: TLabel 376 object Label1: TLabel
374 Left = 8 377 Left = 8
375 Height = 15 378 Height = 15
376 Top = 8 379 Top = 46
377 Width = 58 380 Width = 58
378 Caption = 'Instrument' 381 Caption = 'Instrument'
379 ParentColor = False 382 ParentColor = False
@@ -382,7 +385,7 @@ object frmTracker: TfrmTracker
382 object Label2: TLabel 385 object Label2: TLabel
383 Left = 8 386 Left = 8
384 Height = 15 387 Height = 15
385 Top = 34 388 Top = 78
386 Width = 32 389 Width = 32
387 Caption = 'Name' 390 Caption = 'Name'
388 ParentColor = False 391 ParentColor = False
@@ -392,7 +395,7 @@ object frmTracker: TfrmTracker
392 Left = 80 395 Left = 80
393 Height = 23 396 Height = 23
394 Hint = 'The name of the instrument' 397 Hint = 'The name of the instrument'
395 Top = 26 398 Top = 70
396 Width = 176 399 Width = 176
397 OnChange = InstrumentNameEditChange 400 OnChange = InstrumentNameEditChange
398 ParentFont = False 401 ParentFont = False
@@ -401,18 +404,19 @@ object frmTracker: TfrmTracker
401 object Label3: TLabel 404 object Label3: TLabel
402 Left = 8 405 Left = 8
403 Height = 15 406 Height = 15
404 Top = 61 407 Top = 16
405 Width = 24 408 Width = 44
406 Caption = 'Type' 409 Caption = 'Channel'
410 Font.Style = [fsBold]
407 ParentColor = False 411 ParentColor = False
408 ParentFont = False 412 ParentFont = False
409 end 413 end
410 object InstrumentTypeCombobox: TComboBox 414 object InstrumentTypeCombobox: TComboBox
411 Left = 80 415 Left = 78
412 Height = 23 416 Height = 23
413 Hint = 'What type of channel this instrument will be played on' 417 Hint = 'What type of channel this instrument will be played on'
414 Top = 53 418 Top = 8
415 Width = 176 419 Width = 178
416 ItemHeight = 15 420 ItemHeight = 15
417 ItemIndex = 0 421 ItemIndex = 0
418 Items.Strings = ( 422 Items.Strings = (
@@ -427,10 +431,10 @@ object frmTracker: TfrmTracker
427 Text = 'Square' 431 Text = 'Square'
428 end 432 end
429 object LengthEnabledCheckbox: TCheckBox 433 object LengthEnabledCheckbox: TCheckBox
430 Left = 8 434 Left = 12
431 Height = 19 435 Height = 19
432 Hint = 'Cut the sound after a certain length of time' 436 Hint = 'Cut the sound after a certain length of time'
433 Top = 84 437 Top = 118
434 Width = 57 438 Width = 57
435 Caption = 'Length' 439 Caption = 'Length'
436 OnChange = LengthEnabledCheckboxChange 440 OnChange = LengthEnabledCheckboxChange
@@ -438,9 +442,9 @@ object frmTracker: TfrmTracker
438 TabOrder = 3 442 TabOrder = 3
439 end 443 end
440 object InstrumentImportButton: TButton 444 object InstrumentImportButton: TButton
441 Left = 14 445 Left = 12
442 Height = 25 446 Height = 25
443 Top = 151 447 Top = 184
444 Width = 116 448 Width = 116
445 Caption = 'Import' 449 Caption = 'Import'
446 OnClick = InstrumentImportButtonClick 450 OnClick = InstrumentImportButtonClick
@@ -448,9 +452,9 @@ object frmTracker: TfrmTracker
448 TabOrder = 4 452 TabOrder = 4
449 end 453 end
450 object InstrumentExportButton: TButton 454 object InstrumentExportButton: TButton
451 Left = 137 455 Left = 138
452 Height = 25 456 Height = 25
453 Top = 151 457 Top = 184
454 Width = 116 458 Width = 116
455 Caption = 'Export' 459 Caption = 'Export'
456 OnClick = InstrumentExportButtonClick 460 OnClick = InstrumentExportButtonClick
@@ -458,10 +462,10 @@ object frmTracker: TfrmTracker
458 TabOrder = 5 462 TabOrder = 5
459 end 463 end
460 object Button1: TButton 464 object Button1: TButton
461 Left = 14 465 Left = 12
462 Height = 25 466 Height = 25
463 Hint = 'Test out the instrument with a C-5 note' 467 Hint = 'Test out the instrument with a C-5 note'
464 Top = 119 468 Top = 152
465 Width = 242 469 Width = 242
466 Caption = 'Test C-5' 470 Caption = 'Test C-5'
467 OnClick = Button1Click 471 OnClick = Button1Click
@@ -469,9 +473,9 @@ object frmTracker: TfrmTracker
469 TabOrder = 6 473 TabOrder = 6
470 end 474 end
471 object LengthTrackbar: TTrackBar 475 object LengthTrackbar: TTrackBar
472 Left = 78 476 Left = 76
473 Height = 25 477 Height = 25
474 Top = 82 478 Top = 112
475 Width = 178 479 Width = 178
476 Max = 63 480 Max = 63
477 OnChange = LengthSpinnerChange 481 OnChange = LengthSpinnerChange
@@ -587,7 +591,7 @@ object frmTracker: TfrmTracker
587 object SquareGroupBox: TGroupBox 591 object SquareGroupBox: TGroupBox
588 Left = 7 592 Left = 7
589 Height = 169 593 Height = 169
590 Top = 229 594 Top = 262
591 Width = 319 595 Width = 319
592 Anchors = [] 596 Anchors = []
593 BorderSpacing.Left = 7 597 BorderSpacing.Left = 7
@@ -718,7 +722,7 @@ object frmTracker: TfrmTracker
718 object WaveGroupBox: TGroupBox 722 object WaveGroupBox: TGroupBox
719 Left = 340 723 Left = 340
720 Height = 169 724 Height = 169
721 Top = 229 725 Top = 262
722 Width = 297 726 Width = 297
723 Anchors = [] 727 Anchors = []
724 BorderSpacing.Left = 7 728 BorderSpacing.Left = 7
@@ -827,7 +831,7 @@ object frmTracker: TfrmTracker
827 object NoiseGroupBox: TGroupBox 831 object NoiseGroupBox: TGroupBox
828 Left = 651 832 Left = 651
829 Height = 169 833 Height = 169
830 Top = 229 834 Top = 262
831 Width = 264 835 Width = 264
832 Anchors = [] 836 Anchors = []
833 BorderSpacing.Left = 7 837 BorderSpacing.Left = 7
@@ -907,14 +911,14 @@ object frmTracker: TfrmTracker
907 end 911 end
908 object WavesTabSheet: TTabSheet 912 object WavesTabSheet: TTabSheet
909 Caption = 'Waves' 913 Caption = 'Waves'
910 ClientHeight = 412 914 ClientHeight = 414
911 ClientWidth = 960 915 ClientWidth = 960
912 ParentFont = False 916 ParentFont = False
913 object WaveEditPaintBox: TPaintBox 917 object WaveEditPaintBox: TPaintBox
914 AnchorSideTop.Control = WaveEditGroupBox 918 AnchorSideTop.Control = WaveEditGroupBox
915 AnchorSideTop.Side = asrBottom 919 AnchorSideTop.Side = asrBottom
916 Left = 0 920 Left = 0
917 Height = 252 921 Height = 254
918 Top = 160 922 Top = 160
919 Width = 960 923 Width = 960
920 Align = alBottom 924 Align = alBottom
@@ -981,14 +985,14 @@ object frmTracker: TfrmTracker
981 end 985 end
982 object CommentsTabSheet: TTabSheet 986 object CommentsTabSheet: TTabSheet
983 Caption = 'Comments' 987 Caption = 'Comments'
984 ClientHeight = 412 988 ClientHeight = 414
985 ClientWidth = 960 989 ClientWidth = 960
986 ParentFont = False 990 ParentFont = False
987 object CommentMemo: TMemo 991 object CommentMemo: TMemo
988 AnchorSideTop.Control = Label17 992 AnchorSideTop.Control = Label17
989 AnchorSideTop.Side = asrBottom 993 AnchorSideTop.Side = asrBottom
990 Left = 0 994 Left = 0
991 Height = 376 995 Height = 378
992 Hint = 'The comments section for your song. Greetings/links/etc' 996 Hint = 'The comments section for your song. Greetings/links/etc'
993 Top = 36 997 Top = 36
994 Width = 960 998 Width = 960
@@ -1012,14 +1016,14 @@ object frmTracker: TfrmTracker
1012 end 1016 end
1013 object RoutinesTabSheet: TTabSheet 1017 object RoutinesTabSheet: TTabSheet
1014 Caption = 'Routines' 1018 Caption = 'Routines'
1015 ClientHeight = 412 1019 ClientHeight = 414
1016 ClientWidth = 960 1020 ClientWidth = 960
1017 ParentFont = False 1021 ParentFont = False
1018 inline RoutineSynedit: TSynEdit 1022 inline RoutineSynedit: TSynEdit
1019 AnchorSideTop.Control = Label19 1023 AnchorSideTop.Control = Label19
1020 AnchorSideTop.Side = asrBottom 1024 AnchorSideTop.Side = asrBottom
1021 Left = 0 1025 Left = 0
1022 Height = 284 1026 Height = 286
1023 Top = 128 1027 Top = 128
1024 Width = 960 1028 Width = 960
1025 Align = alBottom 1029 Align = alBottom
@@ -1557,17 +1561,17 @@ object frmTracker: TfrmTracker
1557 Left = 0 1561 Left = 0
1558 Height = 178 1562 Height = 178
1559 Top = 25 1563 Top = 25
1560 Width = 1166 1564 Width = 1180
1561 Align = alTop 1565 Align = alTop
1562 BevelOuter = bvNone 1566 BevelOuter = bvNone
1563 ChildSizing.HorizontalSpacing = 10 1567 ChildSizing.HorizontalSpacing = 10
1564 ClientHeight = 178 1568 ClientHeight = 178
1565 ClientWidth = 1166 1569 ClientWidth = 1180
1566 ParentFont = False 1570 ParentFont = False
1567 TabOrder = 3 1571 TabOrder = 3
1568 object LEDMeter1: TLEDMeter 1572 object LEDMeter1: TLEDMeter
1569 AnchorSideRight.Side = asrBottom 1573 AnchorSideRight.Side = asrBottom
1570 Left = 721 1574 Left = 735
1571 Height = 178 1575 Height = 178
1572 Top = 0 1576 Top = 0
1573 Width = 50 1577 Width = 50
@@ -1591,7 +1595,7 @@ object frmTracker: TfrmTracker
1591 end 1595 end
1592 object LEDMeter2: TLEDMeter 1596 object LEDMeter2: TLEDMeter
1593 AnchorSideRight.Side = asrBottom 1597 AnchorSideRight.Side = asrBottom
1594 Left = 671 1598 Left = 685
1595 Height = 178 1599 Height = 178
1596 Top = 0 1600 Top = 0
1597 Width = 50 1601 Width = 50
@@ -1614,7 +1618,7 @@ object frmTracker: TfrmTracker
1614 Section3Value = 80 1618 Section3Value = 80
1615 end 1619 end
1616 object Panel6: TPanel 1620 object Panel6: TPanel
1617 Left = 772 1621 Left = 786
1618 Height = 178 1622 Height = 178
1619 Top = 0 1623 Top = 0
1620 Width = 394 1624 Width = 394
@@ -1666,8 +1670,8 @@ object frmTracker: TfrmTracker
1666 object StatusBar1: TStatusBar 1670 object StatusBar1: TStatusBar
1667 Left = 0 1671 Left = 0
1668 Height = 23 1672 Height = 23
1669 Top = 645 1673 Top = 683
1670 Width = 1166 1674 Width = 1180
1671 AutoHint = True 1675 AutoHint = True
1672 Panels = < 1676 Panels = <
1673 item 1677 item
@@ -1688,7 +1692,7 @@ object frmTracker: TfrmTracker
1688 Left = 0 1692 Left = 0
1689 Height = 25 1693 Height = 25
1690 Top = 0 1694 Top = 0
1691 Width = 1166 1695 Width = 1180
1692 AutoSize = True 1696 AutoSize = True
1693 Caption = 'ToolBar1' 1697 Caption = 'ToolBar1'
1694 EdgeBorders = [ebBottom] 1698 EdgeBorders = [ebBottom]
@@ -1803,25 +1807,11 @@ object frmTracker: TfrmTracker
1803 Hint = 'The selected instrument for new notes' 1807 Hint = 'The selected instrument for new notes'
1804 Top = 0 1808 Top = 0
1805 Width = 214 1809 Width = 214
1810 DropDownCount = 999
1806 ItemHeight = 15 1811 ItemHeight = 15
1807 ItemIndex = 0 1812 ItemIndex = 0
1808 Items.Strings = ( 1813 Items.Strings = (
1809 '(no instrument)' 1814 '(no instrument)'
1810 '1:'
1811 '2:'
1812 '3:'
1813 '4:'
1814 '5:'
1815 '6:'
1816 '7:'
1817 '8:'
1818 '9:'
1819 '10:'
1820 '11:'
1821 '12:'
1822 '13:'
1823 '14:'
1824 '15:'
1825 ) 1815 )
1826 OnChange = InstrumentComboBoxChange 1816 OnChange = InstrumentComboBoxChange
1827 ParentFont = False 1817 ParentFont = False
@@ -5036,29 +5026,49 @@ object frmTracker: TfrmTracker
5036 Caption = '-' 5026 Caption = '-'
5037 Visible = False 5027 Visible = False
5038 end 5028 end
5039 object MenuItem37: TMenuItem 5029 object MenuItem45: TMenuItem
5040 Caption = 'Increment value by 1' 5030 Caption = 'Hidden stuff'
5041 ShortCut = 16571
5042 Visible = False 5031 Visible = False
5043 OnClick = MenuItem37Click 5032 object MenuItem46: TMenuItem
5044 end 5033 Caption = '+1'
5045 object MenuItem38: TMenuItem 5034 ShortCut = 16571
5046 Caption = 'Decrement value by 1' 5035 OnClick = OnIncrementValueBy1Click
5047 ShortCut = 16573 5036 end
5048 Visible = False 5037 object MenuItem47: TMenuItem
5049 OnClick = MenuItem38Click 5038 Caption = '-1'
5050 end 5039 ShortCut = 16573
5051 object MenuItem39: TMenuItem 5040 OnClick = OnDecrementValueBy1Click
5052 Caption = 'Increment value by 10' 5041 end
5053 ShortCut = 24763 5042 object MenuItem48: TMenuItem
5054 Visible = False 5043 Caption = '+10'
5055 OnClick = MenuItem39Click 5044 ShortCut = 24763
5056 end 5045 OnClick = OnIncrementValueBy10Click
5057 object MenuItem40: TMenuItem 5046 end
5058 Caption = 'Decrement value by 10' 5047 object MenuItem49: TMenuItem
5059 ShortCut = 24765 5048 Caption = '-10'
5060 Visible = False 5049 ShortCut = 24765
5061 OnClick = MenuItem40Click 5050 OnClick = OnDecrementValueBy10Click
5051 end
5052 object MenuItem50: TMenuItem
5053 Caption = '+1'
5054 ShortCut = 16491
5055 OnClick = OnIncrementValueBy1Click
5056 end
5057 object MenuItem51: TMenuItem
5058 Caption = '-1'
5059 ShortCut = 16493
5060 OnClick = OnDecrementValueBy1Click
5061 end
5062 object MenuItem52: TMenuItem
5063 Caption = '+10'
5064 ShortCut = 24683
5065 OnClick = OnIncrementValueBy10Click
5066 end
5067 object MenuItem53: TMenuItem
5068 Caption = '-10'
5069 ShortCut = 24685
5070 OnClick = OnDecrementValueBy10Click
5071 end
5062 end 5072 end
5063 end 5073 end
5064 object WavSaveDialog: TSaveDialog 5074 object WavSaveDialog: TSaveDialog
Modifiedtracker.pas +23−12
@@ -40,11 +40,16 @@ type
40 MenuItem34: TMenuItem; 40 MenuItem34: TMenuItem;
41 MenuItem35: TMenuItem; 41 MenuItem35: TMenuItem;
42 MenuItem36: TMenuItem; 42 MenuItem36: TMenuItem;
43 MenuItem37: TMenuItem;
44 MenuItem38: TMenuItem;
45 MenuItem39: TMenuItem;
46 MenuItem4: TMenuItem; 43 MenuItem4: TMenuItem;
47 MenuItem40: TMenuItem; 44 MenuItem45: TMenuItem;
45 MenuItem46: TMenuItem;
46 MenuItem47: TMenuItem;
47 MenuItem48: TMenuItem;
48 MenuItem49: TMenuItem;
49 MenuItem50: TMenuItem;
50 MenuItem51: TMenuItem;
51 MenuItem52: TMenuItem;
52 MenuItem53: TMenuItem;
48 NoiseVisualizer: TPaintBox; 53 NoiseVisualizer: TPaintBox;
49 MODOpenDialog: TOpenDialog; 54 MODOpenDialog: TOpenDialog;
50 Panel6: TPanel; 55 Panel6: TPanel;
@@ -218,6 +223,7 @@ type
218 procedure EditDelete1Execute(Sender: TObject); 223 procedure EditDelete1Execute(Sender: TObject);
219 procedure FileSaveAs1BeforeExecute(Sender: TObject); 224 procedure FileSaveAs1BeforeExecute(Sender: TObject);
220 procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); 225 procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
226 procedure MenuItem46Click(Sender: TObject);
221 procedure ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState; 227 procedure ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState;
222 MousePos: TPoint; var Handled: Boolean); 228 MousePos: TPoint; var Handled: Boolean);
223 procedure ScrollBox1MouseWheelUp(Sender: TObject; Shift: TShiftState; 229 procedure ScrollBox1MouseWheelUp(Sender: TObject; Shift: TShiftState;
@@ -273,10 +279,10 @@ type
273 procedure MenuItem31Click(Sender: TObject); 279 procedure MenuItem31Click(Sender: TObject);
274 procedure MenuItem33Click(Sender: TObject); 280 procedure MenuItem33Click(Sender: TObject);
275 procedure MenuItem34Click(Sender: TObject); 281 procedure MenuItem34Click(Sender: TObject);
276 procedure MenuItem37Click(Sender: TObject); 282 procedure OnIncrementValueBy1Click(Sender: TObject);
277 procedure MenuItem38Click(Sender: TObject); 283 procedure OnDecrementValueBy1Click(Sender: TObject);
278 procedure MenuItem39Click(Sender: TObject); 284 procedure OnIncrementValueBy10Click(Sender: TObject);
279 procedure MenuItem40Click(Sender: TObject); 285 procedure OnDecrementValueBy10Click(Sender: TObject);
280 procedure MenuItem5Click(Sender: TObject); 286 procedure MenuItem5Click(Sender: TObject);
281 procedure MenuItem8Click(Sender: TObject); 287 procedure MenuItem8Click(Sender: TObject);
282 procedure NoiseVisualizerPaint(Sender: TObject); 288 procedure NoiseVisualizerPaint(Sender: TObject);
@@ -1300,6 +1306,11 @@ begin
1300 CanClose := CheckUnsavedChanges; 1306 CanClose := CheckUnsavedChanges;
1301 end; 1307 end;
1302 1308
1309 procedure TfrmTracker.MenuItem46Click(Sender: TObject);
1310 begin
1311
1312 end;
1313
1303 procedure TfrmTracker.ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState; 1314 procedure TfrmTracker.ScrollBox1MouseWheelDown(Sender: TObject; Shift: TShiftState;
1304 MousePos: TPoint; var Handled: Boolean); 1315 MousePos: TPoint; var Handled: Boolean);
1305 begin 1316 begin
@@ -1637,22 +1648,22 @@ begin
1637 end; 1648 end;
1638 end; 1649 end;
1639 1650
1640 procedure TfrmTracker.MenuItem37Click(Sender: TObject); 1651 procedure TfrmTracker.OnIncrementValueBy1Click(Sender: TObject);
1641 begin 1652 begin
1642 TrackerGrid.IncrementSelection(1, 1, 0, 0, 1); 1653 TrackerGrid.IncrementSelection(1, 1, 0, 0, 1);
1643 end; 1654 end;
1644 1655
1645 procedure TfrmTracker.MenuItem38Click(Sender: TObject); 1656 procedure TfrmTracker.OnDecrementValueBy1Click(Sender: TObject);
1646 begin 1657 begin
1647 TrackerGrid.IncrementSelection(-1, -1, 0, 0, -1); 1658 TrackerGrid.IncrementSelection(-1, -1, 0, 0, -1);
1648 end; 1659 end;
1649 1660
1650 procedure TfrmTracker.MenuItem39Click(Sender: TObject); 1661 procedure TfrmTracker.OnIncrementValueBy10Click(Sender: TObject);
1651 begin 1662 begin
1652 TrackerGrid.IncrementSelection(12, 10, 0, 0, $10); 1663 TrackerGrid.IncrementSelection(12, 10, 0, 0, $10);
1653 end; 1664 end;
1654 1665
1655 procedure TfrmTracker.MenuItem40Click(Sender: TObject); 1666 procedure TfrmTracker.OnDecrementValueBy10Click(Sender: TObject);
1656 begin 1667 begin
1657 TrackerGrid.IncrementSelection(-12, -10, 0, 0, -$10); 1668 TrackerGrid.IncrementSelection(-12, -10, 0, 0, -$10);
1658 end; 1669 end;
Modifiedtrackergrid.pas +24−5
@@ -281,20 +281,29 @@ end;
281 281
282 procedure TTrackerGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, 282 procedure TTrackerGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
283 Y: Integer); 283 Y: Integer);
284 var
285 Clicked: TSelectionPos;
284 begin 286 begin
285 inherited MouseDown(Button, Shift, X, Y); 287 inherited MouseDown(Button, Shift, X, Y);
286 if (Button = mbRight) and Selecting then Exit; 288 if (Button = mbRight) and Selecting then Exit;
287 289
288 if Button = mbLeft then 290 if (Button = mbLeft) and not (ssShift in Shift) then
289 MouseButtonDown := True; 291 MouseButtonDown := True;
290 Selecting := False;
291 292
292 if not (csDesigning in ComponentState) and CanFocus then 293 if not (csDesigning in ComponentState) and CanFocus then
293 SetFocus; 294 SetFocus;
294 295
295 Cursor := MousePosToSelection(X, Y); 296 Clicked := MousePosToSelection(X, Y);
296 Other := Cursor; 297
297 ClampCursors; 298 if ssShift in Shift then
299 Other := Clicked
300 else begin
301 Cursor := Clicked;
302 Other := Cursor;
303 Selecting := False;
304 end;
305
306 NormalizeCursors;
298 307
299 Invalidate; 308 Invalidate;
300 end; 309 end;
@@ -967,6 +976,16 @@ begin
967 VK_7: Num := $7; 976 VK_7: Num := $7;
968 VK_8: Num := $8; 977 VK_8: Num := $8;
969 VK_9: Num := $9; 978 VK_9: Num := $9;
979 VK_NUMPAD0: Num := $0;
980 VK_NUMPAD1: Num := $1;
981 VK_NUMPAD2: Num := $2;
982 VK_NUMPAD3: Num := $3;
983 VK_NUMPAD4: Num := $4;
984 VK_NUMPAD5: Num := $5;
985 VK_NUMPAD6: Num := $6;
986 VK_NUMPAD7: Num := $7;
987 VK_NUMPAD8: Num := $8;
988 VK_NUMPAD9: Num := $9;
970 VK_A: Num := $A; 989 VK_A: Num := $A;
971 VK_B: Num := $B; 990 VK_B: Num := $B;
972 VK_C: Num := $C; 991 VK_C: Num := $C;