Commit 46ba2b3

Nick committed on
Finalize implementation of 3-bank instruments
commit 46ba2b3bae98a1049931ef7d03de657ea5cadecb parent 56d60d1
2 changed files +12−2
Modifiedtracker.pas +2−2
@@ -599,7 +599,7 @@ end;
599 procedure TfrmTracker.PreviewC5; 599 procedure TfrmTracker.PreviewC5;
600 begin 600 begin
601 if not LoadingFile then begin 601 if not LoadingFile then begin
602 PreviewInstrument(NotesToFreqs.Data[C_5], InstrumentNumberSpinner.Value); 602 PreviewInstrument(NotesToFreqs.Data[C_5], UnmodInst(CurrentInstrumentBank, InstrumentNumberSpinner.Value));
603 NoteHaltTimer.Enabled := False; 603 NoteHaltTimer.Enabled := False;
604 NoteHaltTimer.Enabled := True 604 NoteHaltTimer.Enabled := True
605 end; 605 end;
@@ -989,7 +989,7 @@ begin
989 LengthTrackbar.Position := Random(Round(LengthTrackbar.Max)); 989 LengthTrackbar.Position := Random(Round(LengthTrackbar.Max));
990 990
991 PreviewInstrument(NotesToFreqs.KeyData[RandomRange(LOWEST_NOTE, HIGHEST_NOTE)], 991 PreviewInstrument(NotesToFreqs.KeyData[RandomRange(LOWEST_NOTE, HIGHEST_NOTE)],
992 InstrumentNumberSpinner.Value); 992 UnmodInst(CurrentInstrumentBank, InstrumentNumberSpinner.Value));
993 end; 993 end;
994 994
995 procedure TfrmTracker.FormCreate(Sender: TObject); 995 procedure TfrmTracker.FormCreate(Sender: TObject);
Modifiedutils.pas +10−0
@@ -37,6 +37,7 @@ function EffectCodeToStr(Code: Integer; Params: TEffectParams): String;
37 function EffectToExplanation(Code: Integer; Params: TEffectParams): String; 37 function EffectToExplanation(Code: Integer; Params: TEffectParams): String;
38 38
39 function ModInst(Inst: Integer): Integer; 39 function ModInst(Inst: Integer): Integer;
40 function UnmodInst(Bank: TInstrumentType; Inst: Integer): Integer;
40 function InstBankName(Bank: TInstrumentType): String; 41 function InstBankName(Bank: TInstrumentType): String;
41 42
42 function GetUsageReport(Song: TSong): TSongUsageReport; 43 function GetUsageReport(Song: TSong): TSongUsageReport;
@@ -116,6 +117,15 @@ begin
116 Result := ((Inst-1) mod 15)+1; 117 Result := ((Inst-1) mod 15)+1;
117 end; 118 end;
118 119
120 function UnmodInst(Bank: TInstrumentType; Inst: Integer): Integer;
121 begin
122 case Bank of
123 itSquare: Result := Inst+(15*0);
124 itWave: Result := Inst+(15*1);
125 itNoise: Result := Inst+(15*2);
126 end;
127 end;
128
119 function InstBankName(Bank: TInstrumentType): String; 129 function InstBankName(Bank: TInstrumentType): String;
120 begin 130 begin
121 case Bank of 131 case Bank of