File tree 1 file changed +4
-2
lines changed
1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -116,6 +116,7 @@ function ModPlayer(mod, rate) {
116
116
channels [ chan ] = {
117
117
playing : false ,
118
118
sample : mod . samples [ 0 ] ,
119
+ finetune : 0 ,
119
120
volume : 0 ,
120
121
volumeDelta : 0 ,
121
122
periodDelta : 0 ,
@@ -135,10 +136,11 @@ function ModPlayer(mod, rate) {
135
136
if ( note . sample != 0 ) {
136
137
channels [ chan ] . sample = mod . samples [ note . sample - 1 ] ;
137
138
channels [ chan ] . volume = channels [ chan ] . sample . volume ;
139
+ channels [ chan ] . finetune = channels [ chan ] . sample . finetune ;
138
140
}
139
141
if ( note . period != 0 ) {
140
- channels [ chan ] . ticksPerSample = note . period * 2 ;
141
142
channels [ chan ] . noteNumber = ModPeriodToNoteNumber [ note . period ] ;
143
+ channels [ chan ] . ticksPerSample = ModPeriodTable [ channels [ chan ] . finetune ] [ channels [ chan ] . noteNumber ] * 2 ;
142
144
}
143
145
}
144
146
if ( note . effect != 0 || note . effectParameter != 0 ) {
@@ -238,7 +240,7 @@ function ModPlayer(mod, rate) {
238
240
if ( channels [ chan ] . arpeggioActive ) {
239
241
channels [ chan ] . arpeggioCounter ++ ;
240
242
var noteNumber = channels [ chan ] . arpeggioNotes [ channels [ chan ] . arpeggioCounter % 3 ] ;
241
- channels [ chan ] . ticksPerSample = ModPeriodTable [ 0 ] [ noteNumber ] * 2 ;
243
+ channels [ chan ] . ticksPerSample = ModPeriodTable [ channels [ chan ] . finetune ] [ noteNumber ] * 2 ;
242
244
}
243
245
}
244
246
You can’t perform that action at this time.
0 commit comments