Commit 1bdda8a

Nick committed on
Added sound on/off icons, refactored order editor
commit 1bdda8a9d399798309205e53dc3c15bb76ae4e0d parent d6827d2
3 changed files +313−51
Modifiedtracker.lfm +282−12
@@ -1,7 +1,7 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 1974 2 Left = 2103
3 Height = 1298 3 Height = 1298
4 Top = 176 4 Top = 343
5 Width = 1893 5 Width = 1893
6 Caption = 'hUGETracker' 6 Caption = 'hUGETracker'
7 ClientHeight = 1268 7 ClientHeight = 1268
@@ -24,14 +24,11 @@ object frmTracker: TfrmTracker
24 TabOrder = 0 24 TabOrder = 0
25 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] 25 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
26 Items.Data = { 26 Items.Data = {
27 F9FFFFFF020004000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF020000000000 27 F9FFFFFF020004000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
28 000001080000005061747465726E73FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 28 000000080000005061747465726E73FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
29 00000000000000000800000042696E676F677573FFFFFFFFFFFFFFFFFFFFFFFF 29 00000000000000000B000000496E737472756D656E7473FFFFFFFFFFFFFFFFFF
30 FFFFFFFF00000000000000000008000000426C6172676F676FFFFFFFFFFFFFFF 30 FFFFFFFFFFFFFF000000000000000000050000005761766573FFFFFFFFFFFFFF
31 FFFFFFFFFFFFFFFFFF0000000000000000000B000000496E737472756D656E74 31 FFFFFFFFFFFFFFFFFF00000000000000000008000000526F7574696E6573
32 73FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000050000005761
33 766573FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000008000000
34 526F7574696E6573
35 } 32 }
36 end 33 end
37 object Splitter1: TSplitter 34 object Splitter1: TSplitter
@@ -155,35 +152,43 @@ object frmTracker: TfrmTracker
155 object HeaderControl1: THeaderControl 152 object HeaderControl1: THeaderControl
156 Left = 1 153 Left = 1
157 Height = 45 154 Height = 45
155 Hint = 'Left click to mute, right click to solo'
158 Top = 1 156 Top = 1
159 Width = 1249 157 Width = 1249
160 DragReorder = False 158 DragReorder = False
159 Images = ImageList2
161 Sections = < 160 Sections = <
162 item 161 item
163 Alignment = taCenter 162 Alignment = taCenter
163 ImageIndex = 1
164 Text = 'Duty 1' 164 Text = 'Duty 1'
165 Width = 200 165 Width = 200
166 Visible = True 166 Visible = True
167 end 167 end
168 item 168 item
169 Alignment = taCenter 169 Alignment = taCenter
170 ImageIndex = 1
170 Text = 'Duty 2' 171 Text = 'Duty 2'
171 Width = 200 172 Width = 200
172 Visible = True 173 Visible = True
173 end 174 end
174 item 175 item
175 Alignment = taCenter 176 Alignment = taCenter
177 ImageIndex = 1
176 Text = 'Wave' 178 Text = 'Wave'
177 Width = 200 179 Width = 200
178 Visible = True 180 Visible = True
179 end 181 end
180 item 182 item
181 Alignment = taCenter 183 Alignment = taCenter
184 ImageIndex = 1
182 Text = 'Noise' 185 Text = 'Noise'
183 Width = 200 186 Width = 200
184 Visible = True 187 Visible = True
185 end> 188 end>
189 OnSectionClick = HeaderControl1SectionClick
186 Align = alTop 190 Align = alTop
191 ParentFont = False
187 end 192 end
188 object ScrollBox1: TScrollBox 193 object ScrollBox1: TScrollBox
189 Left = 1 194 Left = 1
@@ -1861,7 +1866,7 @@ object frmTracker: TfrmTracker
1861 end 1866 end
1862 object ActionList1: TActionList 1867 object ActionList1: TActionList
1863 Images = ImageList1 1868 Images = ImageList1
1864 left = 832 1869 left = 856
1865 top = 64 1870 top = 64
1866 object FileOpen1: TFileOpen 1871 object FileOpen1: TFileOpen
1867 Category = 'File' 1872 Category = 'File'
@@ -1957,7 +1962,7 @@ object frmTracker: TfrmTracker
1957 end 1962 end
1958 end 1963 end
1959 object ImageList1: TImageList 1964 object ImageList1: TImageList
1960 left = 928 1965 left = 968
1961 top = 64 1966 top = 64
1962 Bitmap = { 1967 Bitmap = {
1963 4C69480000001000000010000000000000000000000000000000000000000000 1968 4C69480000001000000010000000000000000000000000000000000000000000
@@ -4294,4 +4299,269 @@ object frmTracker: TfrmTracker
4294 Hint = 'Remove a row-- Does not delete the patterns from existence' 4299 Hint = 'Remove a row-- Does not delete the patterns from existence'
4295 end 4300 end
4296 end 4301 end
4302 object ImageList2: TImageList
4303 Height = 32
4304 Width = 32
4305 left = 968
4306 top = 160
4307 Bitmap = {
4308 4C69020000002000000020000000000000000000000000000000000000000000
4309 0000000000000000000000000000000000000000000000000000000000000000
4310 00000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00000000000000000000
4311 0000000000000000000000000000000000000000000000000000000000000000
4312 0000000000000000000000000000000000000000000000000000000000000000
4313 0000000000000000000000000000000000000000FFFF0000FFFF0000FFFF0000
4314 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
4315 FFFF0000FFFF0000000000000000000000000000000000000000808080FF0000
4316 0000000000000000000000000000000000000000000000000000000000000000
4317 00000000000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000
4318 FFFF008080FFC0C0C0FF000000FFC0C0C0FF808080FF0000FFFF0000FFFF0000
4319 FFFF0000FFFF0000FFFF0000000000000000808080FF808080FF000000000000
4320 0000000000000000000000000000000000000000000000000000000000000000
4321 0000000000000000FFFF0000FFFF0000FFFF0000FFFF00000000000000000080
4322 80FFC0C0C0FF000000FFC0C0C0FFFFFFFFFFC0C0C0FF808080FF000000000000
4323 0000000000000000FFFF0000FFFF0000FFFF0000000000000000000000000000
4324 0000000000000000000000000000000000000000000000000000000000000000
4325 00000000FFFF0000FFFF0000FFFF000000000000000000000000008080FFC0C0
4326 C0FFC0C0C0FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF808080FF000000000000
4327 0000808080FF808080FF0000FFFF0000FFFF0000FFFF00000000000000000000
4328 0000000000000000000000000000000000000000000000000000000000000000
4329 FFFF0000FFFF0000FFFF000000000000000000000000008080FFC0C0C0FF00FF
4330 FFFF808080FF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4331 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF000000000000
4332 00000000000000000000000000000000000000000000000000000000FFFF0000
4333 FFFF0000FFFF000000000000000000000000008080FFC0C0C0FF00FFFFFFFFFF
4334 FFFF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4335 0000000000000000FFFF0000FFFF0000FFFF000000000000FFFF0000FFFF0000
4336 00000000000000000000000000000000000000000000000000000000FFFF0000
4337 FFFF000000000000000000000000008080FFC0C0C0FF00FFFFFFFFFFFFFFC0C0
4338 C0FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4339 00000000FFFF0000FFFF0000FFFF0000FFFF000000000000FFFF0000FFFF0000
4340 000000000000808080FF0000000000000000000000000000FFFF0000FFFF0000
4341 00000000000000000000008080FFC0C0C0FF00FFFFFFFFFFFFFF00FFFFFFC0C0
4342 C0FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4343 FFFF0000FFFF0000FFFF0000FFFF0000000000000000000000000000FFFF0000
4344 FFFF808080FF0000000000000000000000000000FFFF0000FFFF0000FFFF0000
4345 000000000000008080FFC0C0C0FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF0000
4346 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000
4347 FFFF0000FFFF0000FFFF00000000808080FF808080FF808080FF000000000000
4348 FFFF0000FFFF0000000000000000000000000000FFFF0000FFFF008080FF0080
4349 80FF008080FF00FFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF0000
4350 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000
4351 FFFF0000FFFF00000000808080FF000000000000000000000000000000000000
4352 FFFF0000FFFF0000000000000000000000000000FFFF0000FFFFC0C0C0FFC0C0
4353 C0FF008080FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
4354 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFF0000FFFF0000FFFF0000FFFF0000
4355 FFFF000000000000000000000000000000000000000000000000000000000000
4356 FFFF0000FFFF0000000000000000008080FF0000FFFF0000FFFF00FFFFFF0080
4357 80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
4358 00FF000000FF808080FF808080FF0000FFFF0000FFFF0000FFFF0000FFFF8080
4359 80FF000000000000000000000000000000000000000000000000000000000000
4360 FFFF0000FFFF00000000000000000000FFFF0000FFFFFFFFFFFFFFFFFFFF0080
4361 80FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
4362 00FF808080FFFFFFFFFF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFF8080
4363 80FF000000000000000000000000000000000000000000000000000000000000
4364 00000000FFFF0000FFFF000000000000FFFF0000FFFFFFFFFFFF00FFFFFF0080
4365 80FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF0000
4366 00FF808080FF0000FFFF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFF8080
4367 80FF000000000000000000000000000000000000000000000000000000000000
4368 00000000FFFF0000FFFF000000000000FFFF0000FFFF00FFFFFFFFFFFFFF0080
4369 80FFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF0000
4370 00FF808080FF0000FFFF0000FFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4371 80FF0000000000000000808080FF808080FF808080FF808080FF808080FF8080
4372 80FF0000FFFF0000FFFF808080FF0000FFFF0000FFFFC0C0C0FF00FFFFFF0080
4373 80FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFF0000
4374 00FF0000FFFF0000FFFF0000FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4375 80FF000000000000000000000000000000000000000000000000000000000000
4376 00000000FFFF0000FFFF000000000000FFFF0000FFFF00FFFFFFC0C0C0FF0080
4377 80FFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF0000
4378 FFFF0000FFFF0000FFFF0000FFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4379 80FF000000000000000000000000000000000000000000000000000000000000
4380 00000000FFFF0000FFFF00000000008080FF0000FFFF0000FFFF00FFFFFF0080
4381 80FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF0000FFFF0000
4382 FFFF0000FFFF0000FFFF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4383 80FF000000000000000000000000000000000000000000000000000000000000
4384 FFFF0000FFFF0000000000000000000000000000FFFF0000FFFF008080FF0080
4385 80FF008080FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF0000FFFF0000FFFF0000
4386 FFFF0000FFFF808080FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4387 80FF000000000000000000000000000000000000000000000000000000000000
4388 FFFF0000FFFF0000000000000000000000000000FFFF0000FFFF000000FF0000
4389 00FF000000FF008080FF00FFFFFFC0C0C0FF0000FFFF0000FFFF0000FFFF0000
4390 FFFF808080FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4391 80FF0000000000000000808080FF000000000000000000000000000000000000
4392 FFFF0000FFFF0000000000000000000000000000FFFF0000FFFF0000FFFF0000
4393 000000000000000000FF008080FF0000FFFF0000FFFF0000FFFF0000FFFF0000
4394 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4395 80FF000000000000000000000000808080FF808080FF808080FF000000000000
4396 FFFF0000FFFF000000000000000000000000000000000000FFFF0000FFFF0000
4397 000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF00FFFFFF8080
4398 80FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4399 00000000000000000000000000000000000000000000000000000000FFFF0000
4400 FFFF808080FF00000000000000000000000000000000000000000000FFFF0000
4401 FFFF000000000000FFFF0000FFFF0000FFFF0000FFFF008080FF008080FFC0C0
4402 C0FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4403 000000000000000000000000000000000000000000000000FFFF0000FFFF0000
4404 000000000000808080FF000000000000000000000000000000000000FFFF0000
4405 FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000FF008080FF008080FF0080
4406 80FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4407 000000000000000000000000000000000000000000000000FFFF0000FFFF0000
4408 0000000000000000000000000000000000000000000000000000000000000000
4409 FFFF0000FFFF0000FFFF0000FFFF0000000000000000000000FF008080FF0080
4410 80FF808080FF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4411 00000000000000000000000000000000FFFF0000FFFF0000FFFF000000000000
4412 0000000000000000000000000000000000000000000000000000000000000000
4413 00000000FFFF0000FFFF0000FFFF000000000000000000000000000000FF0080
4414 80FF008080FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF808080FF000000000000
4415 0000808080FF808080FF0000FFFF0000FFFF0000FFFF00000000000000000000
4416 0000000000000000000000000000000000000000000000000000000000000000
4417 0000000000000000FFFF0000FFFF0000FFFF0000FFFF00000000000000000000
4418 00FF008080FF000000FFC0C0C0FFFFFFFFFFC0C0C0FF808080FF000000000000
4419 00000000FFFF0000FFFF0000FFFF0000FFFF0000000000000000000000000000
4420 0000000000000000000000000000000000000000000000000000000000000000
4421 00000000000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF0000
4422 FFFF000000FF008080FF000000FFC0C0C0FF808080FF0000FFFF0000FFFF0000
4423 FFFF0000FFFF0000FFFF0000000000000000808080FF808080FF000000000000
4424 0000000000000000000000000000000000000000000000000000000000000000
4425 0000000000000000000000000000000000000000FFFF0000FFFF0000FFFF0000
4426 FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000
4427 FFFF0000FFFF0000000000000000000000000000000000000000808080FF0000
4428 0000000000000000000000000000000000000000000000000000000000000000
4429 0000000000000000000000000000000000000000000000000000000000000000
4430 00000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00000000000000000000
4431 0000000000000000000000000000000000000000000000000000000000000000
4432 0000000000000000000000000000000000000000000000000000000000000000
4433 0000000000000000000000000000000000000000000000000000000000000000
4434 0000000000000000000000000000000000000000000000000000000000000000
4435 0000000000000000000000000000000000000000000000000000000000000000
4436 0000000000000000000000000000000000000000000000000000000000000000
4437 0000000000000000000000000000000000000000000000000000000000000000
4438 0000000000000000000000000000000000000000000000000000000000000000
4439 0000000000000000000000000000000000000000000000000000000000000000
4440 0000000000000000000000000000000000000000000000000000000000000000
4441 0000000000000000000000000000000000000000000000000000000000000000
4442 00000000000000BFBFFF000000FF000000FF0000000000000000000000000000
4443 0000000000000000000000000000000000000000000000000000808080FF0000
4444 0000000000000000000000000000000000000000000000000000000000000000
4445 0000000000000000000000000000000000000000000000000000000000000000
4446 000000BFBFFFC0C0C0FF000000FFC0C0C0FF808080FF00000000000000000000
4447 000000000000000000000000000000000000808080FF808080FF000000000000
4448 0000000000000000000000000000000000000000000000000000000000000000
4449 00000000000000000000000000000000000000000000000000000000000000BF
4450 BFFFC0C0C0FF000000FFC0C0C0FFFFFFFFFFC0C0C0FF808080FF000000000000
4451 00000000000000000000808080FF808080FF0000000000000000000000000000
4452 0000000000000000000000000000000000000000000000000000000000000000
4453 000000000000000000000000000000000000000000000000000000BFBFFFC0C0
4454 C0FFC0C0C0FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF808080FF000000000000
4455 0000808080FF808080FF00000000000000000000000000000000000000000000
4456 0000000000000000000000000000000000000000000000000000000000000000
4457 0000000000000000000000000000000000000000000000BFBFFFC0C0C0FF00FF
4458 FFFF808080FF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4459 0000000000000000000000000000000000000000000000000000000000000000
4460 0000000000000000000000000000000000000000000000000000000000000000
4461 00000000000000000000000000000000000000BFBFFFC0C0C0FF00FFFFFFFFFF
4462 FFFF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4463 0000000000000000000000000000000000000000000000000000000000000000
4464 0000000000000000000000000000000000000000000000000000000000000000
4465 000000000000000000000000000000BFBFFFC0C0C0FF00FFFFFFFFFFFFFFC0C0
4466 C0FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4467 0000000000000000000000000000000000000000000000000000000000000000
4468 000000000000808080FF00000000000000000000000000000000000000000000
4469 0000000000000000000000BFBFFFC0C0C0FF00FFFFFFFFFFFFFF00FFFFFFC0C0
4470 C0FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4471 0000000000000000000000000000000000000000000000000000808080FF8080
4472 80FF808080FF0000000000000000000000000000000000000000000000000000
4473 00000000000000BFBFFFC0C0C0FF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF0000
4474 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4475 80FF000000000000000000000000808080FF808080FF808080FF000000000000
4476 0000000000000000000000000000000000000000000000BFBFFF00BFBFFF00BF
4477 BFFF00BFBFFF00FFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFF0000
4478 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4479 80FF0000000000000000808080FF000000000000000000000000000000000000
4480 00000000000000000000000000000000000000BFBFFFC0C0C0FFC0C0C0FFC0C0
4481 C0FF00BFBFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
4482 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4483 80FF000000000000000000000000000000000000000000000000000000000000
4484 000000000000000000000000000000BFBFFFFFFFFFFFFFFFFFFF00FFFFFF00BF
4485 BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
4486 00FF000000FF808080FF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4487 80FF000000000000000000000000000000000000000000000000000000000000
4488 000000000000000000000000000000BFBFFFFFFFFFFFFFFFFFFFFFFFFFFF00BF
4489 BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000
4490 00FF808080FFFFFFFFFF808080FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4491 80FF000000000000000000000000000000000000000000000000000000000000
4492 000000000000000000000000000000BFBFFFFFFFFFFFFFFFFFFF00FFFFFF00BF
4493 BFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFF0000
4494 00FF808080FFFFFFFFFF808080FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4495 80FF000000000000000000000000000000000000000000000000000000000000
4496 000000000000000000000000000000BFBFFFFFFFFFFF00FFFFFFFFFFFFFF00BF
4497 BFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF0000
4498 00FF808080FFC0C0C0FF808080FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4499 80FF0000000000000000808080FF808080FF808080FF808080FF808080FF8080
4500 80FF808080FF808080FF808080FF00BFBFFFFFFFFFFFC0C0C0FF00FFFFFF00BF
4501 BFFF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFF0000
4502 00FF808080FFC0C0C0FF808080FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4503 80FF000000000000000000000000000000000000000000000000000000000000
4504 000000000000000000000000000000BFBFFFFFFFFFFF00FFFFFFC0C0C0FF00BF
4505 BFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF0000
4506 00FF808080FF808080FF808080FF000000FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4507 80FF000000000000000000000000000000000000000000000000000000000000
4508 000000000000000000000000000000BFBFFFFFFFFFFFC0C0C0FF00FFFFFF00BF
4509 BFFF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFF0000
4510 00FF000000FF000000FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4511 80FF000000000000000000000000000000000000000000000000000000000000
4512 00000000000000000000000000000000000000BFBFFF00BFBFFF00BFBFFF00BF
4513 BFFF00BFBFFF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF0000
4514 00FF808080FF808080FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFF8080
4515 80FF000000000000000000000000000000000000000000000000000000000000
4516 00000000000000000000000000000000000000000000000000FF000000FF0000
4517 00FF000000FF00BFBFFF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF00FFFFFF0000
4518 00FF808080FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4519 80FF0000000000000000808080FF000000000000000000000000000000000000
4520 0000000000000000000000000000000000000000000000000000000000000000
4521 000000000000000000FF00BFBFFF00FFFFFFC0C0C0FF00FFFFFFC0C0C0FF0000
4522 00FF808080FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080
4523 80FF000000000000000000000000808080FF808080FF808080FF000000000000
4524 0000000000000000000000000000000000000000000000000000000000000000
4525 00000000000000000000000000FF00BFBFFF00BFBFFFC0C0C0FF00FFFFFF8080
4526 80FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4527 0000000000000000000000000000000000000000000000000000808080FF8080
4528 80FF808080FF0000000000000000000000000000000000000000000000000000
4529 0000000000000000000000000000000000FF00BFBFFF00BFBFFF00BFBFFFC0C0
4530 C0FF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4531 0000000000000000000000000000000000000000000000000000000000000000
4532 000000000000808080FF00000000000000000000000000000000000000000000
4533 000000000000000000000000000000000000000000FF00BFBFFF00BFBFFF00BF
4534 BFFF000000FFC0C0C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4535 0000000000000000000000000000000000000000000000000000000000000000
4536 0000000000000000000000000000000000000000000000000000000000000000
4537 00000000000000000000000000000000000000000000000000FF00BFBFFF00BF
4538 BFFF808080FF808080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF808080FF0000
4539 0000000000000000000000000000000000000000000000000000000000000000
4540 0000000000000000000000000000000000000000000000000000000000000000
4541 0000000000000000000000000000000000000000000000000000000000FF00BF
4542 BFFF00BFBFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF808080FF000000000000
4543 0000808080FF808080FF00000000000000000000000000000000000000000000
4544 0000000000000000000000000000000000000000000000000000000000000000
4545 0000000000000000000000000000000000000000000000000000000000000000
4546 00FF00BFBFFF000000FFC0C0C0FFFFFFFFFFC0C0C0FF808080FF000000000000
4547 00000000000000000000808080FF808080FF0000000000000000000000000000
4548 0000000000000000000000000000000000000000000000000000000000000000
4549 0000000000000000000000000000000000000000000000000000000000000000
4550 0000000000FF00BFBFFF000000FFC0C0C0FF808080FF00000000000000000000
4551 000000000000000000000000000000000000808080FF808080FF000000000000
4552 0000000000000000000000000000000000000000000000000000000000000000
4553 0000000000000000000000000000000000000000000000000000000000000000
4554 000000000000000000FF000000FF000000FF0000000000000000000000000000
4555 0000000000000000000000000000000000000000000000000000808080FF0000
4556 0000000000000000000000000000000000000000000000000000000000000000
4557 0000000000000000000000000000000000000000000000000000000000000000
4558 0000000000000000000000000000000000000000000000000000000000000000
4559 0000000000000000000000000000000000000000000000000000000000000000
4560 0000000000000000000000000000000000000000000000000000000000000000
4561 0000000000000000000000000000000000000000000000000000000000000000
4562 0000000000000000000000000000000000000000000000000000000000000000
4563 0000000000000000000000000000000000000000000000000000000000000000
4564 0000000000000000000000000000
4565 }
4566 end
4297 end 4567 end
Modifiedtracker.pas +28−21
@@ -16,6 +16,7 @@ type
16 16
17 TfrmTracker = class(TForm) 17 TfrmTracker = class(TForm)
18 CutAction: TAction; 18 CutAction: TAction;
19 ImageList2: TImageList;
19 OrderEditStringGrid: TStringGrid; 20 OrderEditStringGrid: TStringGrid;
20 EditCut1: TEditCut; 21 EditCut1: TEditCut;
21 HeaderControl1: THeaderControl; 22 HeaderControl1: THeaderControl;
@@ -150,6 +151,8 @@ type
150 procedure CutActionExecute(Sender: TObject); 151 procedure CutActionExecute(Sender: TObject);
151 procedure FileOpen1Accept(Sender: TObject); 152 procedure FileOpen1Accept(Sender: TObject);
152 procedure FileSaveAs1Accept(Sender: TObject); 153 procedure FileSaveAs1Accept(Sender: TObject);
154 procedure HeaderControl1SectionClick(HeaderControl: TCustomHeaderControl;
155 Section: THeaderSection);
153 procedure HelpLookupManualExecute(Sender: TObject); 156 procedure HelpLookupManualExecute(Sender: TObject);
154 procedure ArtistEditChange(Sender: TObject); 157 procedure ArtistEditChange(Sender: TObject);
155 procedure CommentMemoChange(Sender: TObject); 158 procedure CommentMemoChange(Sender: TObject);
@@ -215,10 +218,10 @@ type
215 PreviewingInstrument: Boolean; 218 PreviewingInstrument: Boolean;
216 DrawingWave: Boolean; 219 DrawingWave: Boolean;
217 220
218 Ticks: Integer;
219
220 Orders: TOrderMap; 221 Orders: TOrderMap;
221 222
223 PatternsNode, InstrumentsNode, WavesNode, RoutinesNode: TTreeNode;
224
222 procedure ChangeToSquare; 225 procedure ChangeToSquare;
223 procedure ChangeToWave; 226 procedure ChangeToWave;
224 procedure ChangeToNoise; 227 procedure ChangeToNoise;
@@ -548,7 +551,6 @@ procedure TfrmTracker.FormCreate(Sender: TObject);
548 var 551 var
549 I, J: Integer; 552 I, J: Integer;
550 Section: TCollectionItem; 553 Section: TCollectionItem;
551 Pattern0: PPattern;
552 begin 554 begin
553 ReturnNilIfGrowHeapFails := False; 555 ReturnNilIfGrowHeapFails := False;
554 556
@@ -577,21 +579,26 @@ begin
577 LoadInstrument(1); 579 LoadInstrument(1);
578 LoadWave(0); 580 LoadWave(0);
579 581
580 // Initialize order table 582 // Fetch the tree items
581 for I := 0 to 4 do 583 with TreeView1 do begin
582 OrderEditStringGrid.Cells[I, 1] := '0'; 584 PatternsNode := Items[0];
583 585 InstrumentsNode := Items[1];
584 // Create the order map and pattern 0 586 WavesNode := Items[2];
585 New(Pattern0); 587 RoutinesNode := Items[3];
586 Pattern0^ := Default(TPattern); 588 end;
587 Orders := TOrderMap.Create;
588 Orders.Add(0, Pattern0);
589 589
590 // Create pattern editor control 590 // Create pattern editor control
591 TrackerGrid := TTrackerGrid.Create(Self, ScrollBox1, Pattern0, Pattern0, Pattern0, Pattern0); 591 TrackerGrid := TTrackerGrid.Create(Self, ScrollBox1);
592 for Section in HeaderControl1.Sections do 592 for Section in HeaderControl1.Sections do
593 (Section as THeaderSection).Width := TrackerGrid.ColumnWidth; 593 (Section as THeaderSection).Width := TrackerGrid.ColumnWidth;
594 594
595 // Initialize order table
596 Orders := TOrderMap.Create;
597 for I := 0 to 3 do begin
598 OrderEditStringGrid.Cells[I+1, 1] := IntToStr(I);
599 TrackerGrid.LoadPattern(I, Orders.GetOrCreateNew(I));
600 end;
601
595 // Manually resize the fixed column in the order editor 602 // Manually resize the fixed column in the order editor
596 OrderEditStringGrid.ColWidths[0]:=50; 603 OrderEditStringGrid.ColWidths[0]:=50;
597 604
@@ -671,6 +678,12 @@ begin
671 CloseFile(F);} 678 CloseFile(F);}
672 end; 679 end;
673 680
681 procedure TfrmTracker.HeaderControl1SectionClick(
682 HeaderControl: TCustomHeaderControl; Section: THeaderSection);
683 begin
684 Section.ImageIndex := (Section.ImageIndex + 1) mod 2;
685 end;
686
674 procedure TfrmTracker.FileOpen1Accept(Sender: TObject); 687 procedure TfrmTracker.FileOpen1Accept(Sender: TObject);
675 {var 688 {var
676 F: file of TSong;} 689 F: file of TSong;}
@@ -807,14 +820,8 @@ var
807 begin 820 begin
808 // TODO: Fix this hack! For some reason OnValidateEntry is giving bad pointers 821 // TODO: Fix this hack! For some reason OnValidateEntry is giving bad pointers
809 // for its NewValue and OldValue params. This is the workaround for now. 822 // for its NewValue and OldValue params. This is the workaround for now.
810 if not TryStrToInt( 823 with OrderEditStringGrid do
811 OrderEditStringGrid.Cells[OrderEditStringGrid.Col, OrderEditStringGrid.Row], 824 if not TryStrToInt(Cells[Col, Row], Temp) then Cells[Col, Row] := '';
812 Temp
813 ) then
814 OrderEditStringGrid.Cells[
815 OrderEditStringGrid.Col,
816 OrderEditStringGrid.Row
817 ] := '';
818 825
819 ReloadPatterns; 826 ReloadPatterns;
820 end; 827 end;
Modifiedtrackergrid.pas +3−18
@@ -6,7 +6,7 @@ interface
6 6
7 uses 7 uses
8 Classes, SysUtils, Controls, Graphics, Constants, LCLType, math, 8 Classes, SysUtils, Controls, Graphics, Constants, LCLType, math,
9 LCLIntf, LMessages, ClipboardUtils, HugeDatatypes; 9 LCLIntf, LMessages, HugeDatatypes;
10 10
11 // TODO: Maybe read these from a config file 11 // TODO: Maybe read these from a config file
12 const 12 const
@@ -42,9 +42,7 @@ type
42 TTrackerGrid = class(TCustomControl) 42 TTrackerGrid = class(TCustomControl)
43 constructor Create( 43 constructor Create(
44 AOwner: TComponent; 44 AOwner: TComponent;
45 Parent: TWinControl; 45 Parent: TWinControl);
46 C1, C2, C3, C4: PPattern
47 );
48 procedure Paint; override; 46 procedure Paint; override;
49 procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 47 procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
50 override; 48 override;
@@ -99,11 +97,7 @@ implementation
99 97
100 constructor TTrackerGrid.Create( 98 constructor TTrackerGrid.Create(
101 AOwner: TComponent; 99 AOwner: TComponent;
102 Parent: TWinControl; 100 Parent: TWinControl);
103 C1, C2, C3, C4: PPattern
104 );
105 var
106 X, Y: Integer;
107 begin 101 begin
108 inherited Create(AOwner); 102 inherited Create(AOwner);
109 103
@@ -123,15 +117,6 @@ begin
123 117
124 Width := ColumnWidth*4; 118 Width := ColumnWidth*4;
125 Height := RowHeight*64; 119 Height := RowHeight*64;
126
127 Patterns[0] := C1;
128 Patterns[1] := C2;
129 Patterns[2] := C3;
130 Patterns[3] := C4;
131
132 for X := 0 to High(Patterns) do
133 for Y := 0 to High(Patterns[X]^) do
134 Patterns[X]^[Y].Note := NO_NOTE;
135 end; 120 end;
136 121
137 procedure TTrackerGrid.Paint; 122 procedure TTrackerGrid.Paint;