Dn-Programming-Core-Management / Dn-FamiTracker

modifications and improvements for 0CC-FamiTracker (based on j0CC-FamiTracker 0.6.3)
Other
378 stars 23 forks source link

Improving the way note spellings are handled #41

Open wildmatsu opened 3 years ago

wildmatsu commented 3 years ago

First, I'd like to say I'm very glad that DN-Famitracker supports the ability to spell black piano keys as flats. It's a huge help when working in flat key signatures, and it's a feature most trackers lack. However, I think there is room for further improvement in the way note spellings are handled.

One major flaw in this scheme is that it must be manually changed when switching between a song with a sharp key and one with a flat key--or two different sections of a single song that changes keys. There are also times when you want both sharps and flats in a single key--for instance, Bb and C# in the key of D minor.

Additionally, it's not unheard of to see notes like E#, Fb, B#, Cb, or double sharps and double flats in sheet music. Ideally, I'd like all of those to be supported, but it'd be a lot of effort for something that is only rarely useful. It's probably reasonable to draw the line here, but I thought I'd mention it, at least.

Given what I've discussed above, I'd like to propose several different potential ways to address the handling of note spellings:

Thank you for your time and consideration. I have also submitted a similar request to BambooTracker. I mention this only because BambooTracker shares a lot of code with DN-Famitracker, and hopefully it is possible to avoid duplicated effort.

nyanpasu64 commented 3 years ago

BambooTracker shares a lot of code with DN-Famitracker

they are written in different gui frameworks, using different audio libraries, and different emulation cores. there is no code shared as far as I'm aware.

wildmatsu commented 3 years ago

BambooTracker shares a lot of code with DN-Famitracker

they are written in different gui frameworks, using different audio libraries, and different emulation cores. there is no code shared as far as I'm aware.

Ah, my mistake. Thanks for the clarification.