Commit 0f7755b

Nick committed on
Made treeview work
commit 0f7755bb1c39ac52e9f9955f5efdfdd6b62fc137 parent 8d1db37
5 changed files +54−21
Modifiedeffecteditor.lfm +3−3
@@ -1,7 +1,7 @@
1 object frmEffectEditor: TfrmEffectEditor 1 object frmEffectEditor: TfrmEffectEditor
2 Left = 779 2 Left = 517
3 Height = 416 3 Height = 416
4 Top = 565 4 Top = 493
5 Width = 684 5 Width = 684
6 BorderIcons = [biSystemMenu, biMinimize] 6 BorderIcons = [biSystemMenu, biMinimize]
7 BorderStyle = bsDialog 7 BorderStyle = bsDialog
@@ -59,7 +59,7 @@ object frmEffectEditor: TfrmEffectEditor
59 Height = 320 59 Height = 320
60 Top = 80 60 Top = 80
61 Width = 642 61 Width = 642
62 PageIndex = 1 62 PageIndex = 0
63 TabOrder = 1 63 TabOrder = 1
64 object OneParamPage: TPage 64 object OneParamPage: TPage
65 object OneParamTrackBar: TTrackBar 65 object OneParamTrackBar: TTrackBar
Modifiedeffecteditor.pas +1−1
@@ -331,7 +331,7 @@ end;
331 procedure TfrmEffectEditor.fx6; 331 procedure TfrmEffectEditor.fx6;
332 begin 332 begin
333 Notebook1.PageIndex := 0; 333 Notebook1.PageIndex := 0;
334 OneParamTrackBar.Max := $FF; 334 OneParamTrackBar.Max := $F;
335 LoadOneParamData; 335 LoadOneParamData;
336 end; 336 end;
337 337
Modifiedtracker.lfm +11−10
@@ -1,7 +1,7 @@
1 object frmTracker: TfrmTracker 1 object frmTracker: TfrmTracker
2 Left = 820 2 Left = 1156
3 Height = 1275 3 Height = 1275
4 Top = 191 4 Top = 228
5 Width = 2056 5 Width = 2056
6 Caption = 'hUGETracker' 6 Caption = 'hUGETracker'
7 ClientHeight = 1241 7 ClientHeight = 1241
@@ -24,13 +24,13 @@ object frmTracker: TfrmTracker
24 ParentFont = False 24 ParentFont = False
25 ReadOnly = True 25 ReadOnly = True
26 TabOrder = 0 26 TabOrder = 0
27 OnDblClick = TreeView1DblClick
27 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw] 28 Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
28 Items.Data = { 29 Items.Data = {
29 F9FFFFFF020004000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000 30 F9FFFFFF020003000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000
30 000000080000005061747465726E73FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 31 0000000B000000496E737472756D656E7473FFFFFFFFFFFFFFFFFFFFFFFFFFFF
31 00000000000000000B000000496E737472756D656E7473FFFFFFFFFFFFFFFFFF 32 FFFF000000000000000000050000005761766573FFFFFFFFFFFFFFFFFFFFFFFF
32 FFFFFFFFFFFFFF000000000000000000050000005761766573FFFFFFFFFFFFFF 33 FFFFFFFF00000000000000000008000000526F7574696E6573
33 FFFFFFFFFFFFFFFFFF00000000000000000008000000526F7574696E6573
34 } 34 }
35 end 35 end
36 object Splitter1: TSplitter 36 object Splitter1: TSplitter
@@ -53,13 +53,12 @@ object frmTracker: TfrmTracker
53 object PageControl1: TPageControl 53 object PageControl1: TPageControl
54 Left = 0 54 Left = 0
55 Height = 845 55 Height = 845
56 Hint = 'The comments section for your song. Greetings/links/etc'
57 Top = 0 56 Top = 0
58 Width = 1709 57 Width = 1709
59 ActivePage = InstrumentTabSheet 58 ActivePage = WavesTabSheet
60 Align = alClient 59 Align = alClient
61 ParentFont = False 60 ParentFont = False
62 TabIndex = 2 61 TabIndex = 3
63 TabOrder = 0 62 TabOrder = 0
64 object GeneralTabSheet: TTabSheet 63 object GeneralTabSheet: TTabSheet
65 Caption = 'General' 64 Caption = 'General'
@@ -1139,6 +1138,7 @@ object frmTracker: TfrmTracker
1139 AnchorSideTop.Side = asrBottom 1138 AnchorSideTop.Side = asrBottom
1140 Left = 0 1139 Left = 0
1141 Height = 735 1140 Height = 735
1141 Hint = 'The comments section for your song. Greetings/links/etc'
1142 Top = 67 1142 Top = 67
1143 Width = 1701 1143 Width = 1701
1144 Align = alBottom 1144 Align = alBottom
@@ -1162,6 +1162,7 @@ object frmTracker: TfrmTracker
1162 Caption = 'Routines' 1162 Caption = 'Routines'
1163 ClientHeight = 802 1163 ClientHeight = 802
1164 ClientWidth = 1701 1164 ClientWidth = 1701
1165 Enabled = False
1165 ParentFont = False 1166 ParentFont = False
1166 inline RoutineSynedit: TSynEdit 1167 inline RoutineSynedit: TSynEdit
1167 AnchorSideTop.Control = Label19 1168 AnchorSideTop.Control = Label19
Modifiedtracker.pas +39−7
@@ -1,7 +1,7 @@
1 unit Tracker; 1 unit Tracker;
2 2
3 {$mode objfpc}{$H+} 3 {$mode objfpc}{$H+}
4 4 {$WARN 4055 off : Conversion between ordinals and pointers is not portable}
5 interface 5 interface
6 6
7 uses 7 uses
@@ -236,6 +236,7 @@ type
236 procedure ToolButton3Click(Sender: TObject); 236 procedure ToolButton3Click(Sender: TObject);
237 procedure ToolButton4Click(Sender: TObject); 237 procedure ToolButton4Click(Sender: TObject);
238 procedure ExportGBButtonClick(Sender: TObject); 238 procedure ExportGBButtonClick(Sender: TObject);
239 procedure TreeView1DblClick(Sender: TObject);
239 procedure WaveEditNumberSpinnerChange(Sender: TObject); 240 procedure WaveEditNumberSpinnerChange(Sender: TObject);
240 procedure WaveEditPaintBoxMouseDown(Sender: TObject; Button: TMouseButton; 241 procedure WaveEditPaintBoxMouseDown(Sender: TObject; Button: TMouseButton;
241 Shift: TShiftState; X, Y: Integer); 242 Shift: TShiftState; X, Y: Integer);
@@ -334,6 +335,9 @@ begin
334 for I := Low(Song.Instruments) to High(song.Instruments) do 335 for I := Low(Song.Instruments) to High(song.Instruments) do
335 InstrumentComboBox.Items[I] := IntToStr(I)+': '+Song.Instruments[I].Name; 336 InstrumentComboBox.Items[I] := IntToStr(I)+': '+Song.Instruments[I].Name;
336 337
338 for I := Low(Song.Instruments) to High(song.Instruments) do
339 InstrumentsNode.Items[I-1].Text := IntToStr(I)+': '+Song.Instruments[I].Name;
340
337 LoadingFile := False; // HACK!!!! 341 LoadingFile := False; // HACK!!!!
338 342
339 OrderEditStringGrid.Row := 1; 343 OrderEditStringGrid.Row := 1;
@@ -844,10 +848,18 @@ begin
844 848
845 // Fetch the tree items 849 // Fetch the tree items
846 with TreeView1 do begin 850 with TreeView1 do begin
847 PatternsNode := Items[0]; 851 //PatternsNode := Items[0];
848 InstrumentsNode := Items[1]; 852 InstrumentsNode := Items[0];
849 WavesNode := Items[2]; 853 WavesNode := Items[1];
850 RoutinesNode := Items[3]; 854 RoutinesNode := Items[2];
855 end;
856
857 for I := 1 to 15 do
858 TreeView1.Items.AddChild(InstrumentsNode, IntToStr(I)+':').Data := Pointer(I);
859
860 for I := 0 to 15 do begin
861 TreeView1.Items.AddChild(WavesNode, 'Wave '+IntToStr(I)).Data := Pointer(I);
862 TreeView1.Items.AddChild(RoutinesNode, 'Routine '+IntToStr(I)).Data := Pointer(I);
851 end; 863 end;
852 864
853 // Initialize order table 865 // Initialize order table
@@ -872,7 +884,7 @@ var
872 Note: Integer; 884 Note: Integer;
873 Freq: Integer; 885 Freq: Integer;
874 begin 886 begin
875 if not Keybindings.TryGetData(Key, Note) then Exit; 887 {if not Keybindings.TryGetData(Key, Note) then Exit;
876 Inc(Note, OctaveSpinEdit.Value*12); 888 Inc(Note, OctaveSpinEdit.Value*12);
877 EnsureRange(Note, LOWEST_NOTE, HIGHEST_NOTE); 889 EnsureRange(Note, LOWEST_NOTE, HIGHEST_NOTE);
878 890
@@ -887,7 +899,7 @@ begin
887 if not NotesToFreqs.TryGetData(Note, Freq) then Exit; 899 if not NotesToFreqs.TryGetData(Note, Freq) then Exit;
888 900
889 PreviewInstrument(Freq, InstrumentNumberSpinner.Value); 901 PreviewInstrument(Freq, InstrumentNumberSpinner.Value);
890 PreviewingInstrument := Note; 902 PreviewingInstrument := Note;}
891 end; 903 end;
892 904
893 procedure TfrmTracker.FormKeyUp(Sender: TObject; var Key: Word; 905 procedure TfrmTracker.FormKeyUp(Sender: TObject; var Key: Word;
@@ -1109,6 +1121,8 @@ begin
1109 CurrentInstrument^.Name := InstrumentNameEdit.Text; 1121 CurrentInstrument^.Name := InstrumentNameEdit.Text;
1110 InstrumentComboBox.Items[InstrumentNumberSpinner.Value] := 1122 InstrumentComboBox.Items[InstrumentNumberSpinner.Value] :=
1111 IntToStr(InstrumentNumberSpinner.Value) + ': ' + InstrumentNameEdit.Text; 1123 IntToStr(InstrumentNumberSpinner.Value) + ': ' + InstrumentNameEdit.Text;
1124 InstrumentsNode.Items[InstrumentNumberSpinner.Value-1].Text :=
1125 InstrumentComboBox.Items[InstrumentNumberSpinner.Value];
1112 end; 1126 end;
1113 1127
1114 procedure TfrmTracker.InstrumentNumberSpinnerChange(Sender: TObject); 1128 procedure TfrmTracker.InstrumentNumberSpinnerChange(Sender: TObject);
@@ -1353,6 +1367,24 @@ begin
1353 end; 1367 end;
1354 end; 1368 end;
1355 1369
1370 procedure TfrmTracker.TreeView1DblClick(Sender: TObject);
1371 begin
1372 if TreeView1.Selected.Parent = InstrumentsNode then begin
1373 InstrumentNumberSpinner.Value := PtrUInt(TreeView1.Selected.Data);
1374 PageControl1.ActivePage := InstrumentTabSheet;
1375 end;
1376
1377 if TreeView1.Selected.Parent = WavesNode then begin
1378 WaveEditNumberSpinner.Value := PtrUInt(TreeView1.Selected.Data);
1379 PageControl1.ActivePage := WavesTabSheet;
1380 end;
1381
1382 if TreeView1.Selected.Parent = RoutinesNode then begin
1383 RoutineNumberSpinner.Value := PtrUInt(TreeView1.Selected.Data);
1384 PageControl1.ActivePage := RoutinesTabSheet;
1385 end;
1386 end;
1387
1356 procedure TfrmTracker.WaveEditNumberSpinnerChange(Sender: TObject); 1388 procedure TfrmTracker.WaveEditNumberSpinnerChange(Sender: TObject);
1357 begin 1389 begin
1358 LoadWave(WaveEditNumberSpinner.Value); 1390 LoadWave(WaveEditNumberSpinner.Value);