tildearrow / furnace

a multi-system chiptune tracker compatible with DefleMask modules
GNU General Public License v2.0
2.6k stars 208 forks source link

[YM2413] Drums instruments apply the fixed pitch to only the channel it's played on #289

Closed freq-mod closed 1 year ago

freq-mod commented 2 years ago

doorintosummer.zip - the module that showcases the problem. To replicate:

  1. Load a module
  2. Go into pattern 04
  3. Play the song
  4. Snare and Kick will play, together with other channels, hi-hat will not. Drums instrument enabled, fixed frequency flag turned on
freq-mod commented 2 years ago

Actually, issue is two-fold:

  1. The logic for fetching channel state from previous patterns when playing from the middle of the song isn't taking drum mode into account
  2. Drums instruments aren't applying the fixed pitch to all channels at once, only the channel it's played on (this causes the cymbal and hihat to sound wrong until you play a note on the other channel)
freq-mod commented 2 years ago

OK, so the main issue is fixed, but looks like fixed frequency is still ignored (point 2 of the comment)

tildearrow commented 1 year ago

Pitches are now set properly, but still not on every channel.

tildearrow commented 1 year ago

forceIns() now fixed

tildearrow commented 1 year ago

Added an option to apply fixed freq to all drums at once.