Missing framerates

Can I suggest that the high framerates used by Pro Tools (and some high profile films) are added to the enum?

/** Frame rate types. */
enum FrameRateType
{
    fps23976        = 0,
    fps24           = 1,
    fps25           = 2,
    fps2997         = 3,
    fps30           = 4,
    fps2997drop     = 5,
    fps30drop       = 6,
    fps60           = 7,
    fps60drop       = 8,
    fps47952        = 9,
    fps48           = 10,
    fps50           = 11,
    fps5994         = 12,
    fps5994drop     = 13,
    fps100          = 16,
    fps11988        = 17,
    fps11988drop    = 18,
    fps120          = 19,
    fps120drop      = 20,
    fpsUnknown      = 99
};

TBH, I wish that wasn’t an enum but a small structure that had a flag to know if it’s a drop rate or not, and that the frame-rate value wasn’t fixed.

Regardless, you have mistakes in there: 59.94 is 60 fps with a dropped frame (fps60drop). Likewise for 47.952 (which should be fps50drop), 119.99, etc.

No, that list is perfectly correct.
59.94 has nothing to do with drop frame. It is 60fps running at ntsc speed.
drop frame is just a numbering system and can be applied to any of the multiple-of-30 timebases, but none of the others.
This is a common mis-understanding.

That is the list which is necessary to work with Pro Tools framerates.