異名同音(C# = Db)をenumで表現する方法
質問です。
友達がギターコードを表示するプログラムを組もうとしています。
そこで問題なのがコードには異名同音(例えばC#とDbは同じ音)があるので
enumでどう表現すればよいのか分からない、ということです。
彼はプログラマーとして働いているのでenumの使い方は熟知してます。
自分は音楽専門でenumは授業で習ったくらいです。
僕はenumを使わずにC=1, C# or Db=2 , D=3, D# or Eb=4, E=5, ... B=12という感じで
割り振ったらどうか、と素人考えで助言したのですが
転調などを考えるとenumの方が良いそうです。
うむ、確かに納得ですが…。
皆さんはこういうプログラムのときはどのように処理してるのでしょうか?
なるべく実際に音楽関連のソフトを組んだ経験のある人に答えていただきたいです。
彼には借りがあるので、どうかよろしくお願いします。
補足
やっぱりそうなるんですね。調号をつける際は、例えばダブルシャープの場合、♯をどう付けるんですか?