diff options
Diffstat (limited to 'apps/plugins/midi/sequencer.c')
-rw-r--r-- | apps/plugins/midi/sequencer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/plugins/midi/sequencer.c b/apps/plugins/midi/sequencer.c index ebd5b76405..fdfd5d7620 100644 --- a/apps/plugins/midi/sequencer.c +++ b/apps/plugins/midi/sequencer.c | |||
@@ -119,12 +119,13 @@ long pitchTbl[] ICONST_ATTR={ | |||
119 | 73297,73330,73363,73396,73429,73462,73495,73528 | 119 | 73297,73330,73363,73396,73429,73462,73495,73528 |
120 | }; | 120 | }; |
121 | 121 | ||
122 | |||
122 | void findDelta(struct SynthObject * so, int ch, int note) | 123 | void findDelta(struct SynthObject * so, int ch, int note) |
123 | { | 124 | { |
124 | 125 | ||
125 | struct GWaveform * wf = patchSet[chPat[ch]]->waveforms[patchSet[chPat[ch]]->noteTable[note]]; | 126 | struct GWaveform * wf = patchSet[chPat[ch]]->waveforms[patchSet[chPat[ch]]->noteTable[note]]; |
126 | so->wf=wf; | 127 | so->wf=wf; |
127 | unsigned long delta= 0; /* More percision- extra bit - not so off-key as before */ | 128 | unsigned int delta= 0; |
128 | 129 | ||
129 | delta = (((gustable[note]<<FRACTSIZE) / (wf->rootFreq)) * wf->sampRate / (SAMPLE_RATE)); | 130 | delta = (((gustable[note]<<FRACTSIZE) / (wf->rootFreq)) * wf->sampRate / (SAMPLE_RATE)); |
130 | delta = (delta * pitchTbl[chPW[ch]])>> 16; | 131 | delta = (delta * pitchTbl[chPW[ch]])>> 16; |
@@ -248,10 +249,11 @@ void pressNote(int ch, int note, int vol) | |||
248 | } | 249 | } |
249 | } | 250 | } |
250 | } | 251 | } |
251 | 252 | inline void stopVoice(struct SynthObject * so); | |
252 | 253 | ||
253 | void releaseNote(int ch, int note) | 254 | void releaseNote(int ch, int note) |
254 | { | 255 | { |
256 | |||
255 | if(ch==9) | 257 | if(ch==9) |
256 | return; | 258 | return; |
257 | 259 | ||