In my software I usually have a choice for sharps or flats, and my flats convention is your dash. So for the same pitch I might say:
C#4
D-4
In my software where I know what the key signature is, I pick sharps or flats more or less like a normal musician would - to minimize the number of accidentals.
Wouldn’t a double sharp or a double flat just be a double sharp or a double flat, not a quarter tone? The single/double/triple struck sharp (and backwards and back-to-back flat) are sometimes used for those accidentals but I don’t think they have an ascii representation.
shares some of the conventions people have used.
C-1, as well as confusing “C (-1)” (midi note 0 if C4 is 60) with “C1” (midi note 24) runs the nasty risk of looking like “C minor 7” when you do “C-7”. I would avoid the dash myself
The other problem, of course, is that different DAWs call midi note 60 C3, 4 or 5 so people get confused and upset about that too. The advice here to follow the rack convention is good advice but you may get some questions about it.
Looking in the S.M.U.F.L spec. Both Harmony and Meander use the same SMUFL compatible fonts. It looks like there are a huge number of notations for quarter tones. It’s not clear to me any of them are in common use? Other accidentals - Standard Music Font Layout (SMuFL)
Going back to the topic: I asked about the note names I want to display in the context menu of a knob that acts as a switch. So there will be no input field for entering note names, there will only be a list where one can select a specific note name. And I don’t want to implement quartertones or other microtonal stuff.
I’ve seen these the most often in transcribing Arabic music (maqam) where the scales are quite varied but the notation uses a 24 note scale to represent them. (Much like we use a 12 note scale to represent the various tunings used in pre-classical-era and folk western music)
It doesn’t matter for this conversation though and I’ve never seen an ascii representation just the graphical one
Smufl isn’t really an ascii representation. It’s just a big Unicode spec for mapping code points to fonts. The ascii tends to stay hidden in most programs that use it.