docs: function consumeCueSettings(input, cue) {
        var settings = new Settings();
  
        parseOptions(input, function (k, v) {
          switch (k) {
          case "region":
            // Find the last region we parsed with the same region id.
            for (var i = regionList.length - 1; i >= 0; i--) {
              if (regionList[i].id === v) {
                settings.set(k, regionList[i].region);
                break;
              }
            }
            break;
          case "vertical":
            settings.alt(k, v, ["rl", "lr"]);
            break;
          case "line":
            var vals = v.split(","),
                vals0 = vals[0];
            settings.integer(k, vals0);
            settings.percent(k, vals0) ? settings.set("snapToLines", false) : null;
            settings.alt(k, vals0, ["auto"]);
            if (vals.length === 2) {
              settings.alt("lineAlign", vals[1], ["start", "middle", "end"]);
            }
            break;
          case "position":
            vals = v.split(",");
            settings.percent(k, vals[0]);
            if (vals.length === 2) {
              settings.alt("positionAlign", vals[1], ["start", "middle", "end"]);
            }
            break;
          case "size":
            settings.percent(k, v);
            break;
          case "align":
            settings.alt(k, v, ["start", "middle", "end", "left", "right"]);
            break;
          }
        }, /:/, /\s/);
  
        // Apply default values for any missing fields.
        cue.region = settings.get("region", null);
        cue.vertical = settings.get("vertical", "");
        cue.line = settings.get("line", "auto");
        cue.lineAlign = settings.get("lineAlign", "start");
        cue.snapToLines = settings.get("snapToLines", true);
        cue.size = settings.get("size", 100);
        cue.align = settings.get("align", "middle");
        cue.position = settings.get("position", {
          start: 0,
          left: 0,
          middle: 50,
          end: 100,
          right: 100
        }, cue.align);
        cue.positionAlign = settings.get("positionAlign", {
          start: "start",
          left: "start",
          middle: "middle",
          end: "end",
          right: "end"
        }, cue.align);
      }