JSON Song Parse Error on Note Range

I have a song with a MIDI Suppress Events filter that allows the note range “Bb2-Bb8” (that’s the text I entered). The filter works (i.e. my entered text seems to be parsed and the filter works as expected). I subsequently disable that filter (not sure if that is important). I save the song.

When I re-open Cantabile and open the song, I get “Fail to open song - JSON parse error at line 616, character 27, context objects.[0].routes.[0].midiFilter.items.[0].notes - Not a valid note”.

Depressing.

I edit line 616 of the song file and change “Bb2-Bb8” to “A#2-A#8”. The song opens and works normally.

Elation!

It seems that the parser for the filter and the parser that reads / opens song files have different rules …

Details: Win10x64, Performer v3.3678

Here is the song file that trigger this issue:

Fanfare [Bb3]_BUGinOpeningSongFile.cantabileSong (315.2 KB)

I just tested this against the latest stable v3.3686, and the bug still seems to be present …

Maybe the JSON file is corrupt? Have you tried a JSON parser/tester/valudater? Google will show you several free ones.

Json is not corrupt I think. I ran tests here on simple test song and the “Suppress Events” filter for notes and it only works with “#” and not with “b” so either all filters use the same rule or as Clint says it may be a bug. version 3688. Either way there is a way forward if you use “#”. Interesting issue for sure …

Cheers,

Dave

2 Likes