PPROLint
Built-in rules

Empty markers

Reports markers with neither a name nor a comment.

PropertyValue
Idno-empty-markers
CategoryStatic
Default severityinfo
Scopemarker

Options

OptionTypeDefaultDescription
ignoreTypesstring[][]Marker types allowed to be empty.
requireNamebooleanfalseReport markers without a name even when they have comments.

Customize it

Turn the rule on or off in the panel's Rules settings. To change its options, severity or wording, open it with its cogwheel in the rule editor and save: your copy replaces the built-in rule until you revert it. You can also copy the file below into your rules folder as no-empty-markers.rule.json and edit it. See Change a built-in rule.

Rule file

no-empty-markers.rule.json
{
  "formatVersion": 1,
  "id": "no-empty-markers",
  "name": {
    "en_US": "Empty markers",
    "de_DE": "Leere Marken",
    "es_ES": "Marcadores vacíos",
    "fr_FR": "Marques vides",
    "it_IT": "Marcatori vuoti",
    "ja_JP": "空のマーカー",
    "ko_KR": "빈 마커",
    "pt_BR": "Marcadores vazios",
    "ru_RU": "Пустые маркеры",
    "zh_CN": "空标记"
  },
  "description": {
    "en_US": "Reports markers with neither a name nor a comment.",
    "de_DE": "Meldet Marken ohne Namen und ohne Kommentar.",
    "es_ES": "Detecta marcadores sin nombre ni comentario.",
    "fr_FR": "Signale les marques sans nom ni commentaire.",
    "it_IT": "Segnala i marcatori senza nome e senza commento.",
    "ja_JP": "名前もコメントもないマーカーを報告します。",
    "ko_KR": "이름과 주석이 모두 없는 마커를 보고합니다.",
    "pt_BR": "Relata marcadores sem nome e sem comentário.",
    "ru_RU": "Сообщает о маркерах без имени и без комментария.",
    "zh_CN": "报告既没有名称也没有注释的标记。"
  },
  "category": "static",
  "scope": "marker",
  "severity": "info",
  "options": {
    "ignoreTypes": {
      "type": "string[]",
      "default": [],
      "description": "Marker types allowed to be empty."
    },
    "requireName": {
      "type": "boolean",
      "default": false,
      "description": "Report markers without a name even when they have comments."
    }
  },
  "checks": [
    {
      "condition": {
        "all": [
          {
            "field": "marker.type",
            "operator": "notIn",
            "value": {
              "field": "options.ignoreTypes"
            }
          },
          {
            "field": "marker.name",
            "operator": "matches",
            "value": "^\\s*$"
          },
          {
            "field": "marker.comments",
            "operator": "matches",
            "value": "^\\s*$"
          }
        ]
      },
      "message": {
        "en_US": "{labels.markerType} marker at {marker.startTimecode} has no name and no comment.",
        "de_DE": "{labels.markerType}-Marke bei {marker.startTimecode} hat weder Namen noch Kommentar.",
        "es_ES": "El marcador de tipo {labels.markerType} en {marker.startTimecode} no tiene nombre ni comentario.",
        "fr_FR": "La marque de type {labels.markerType} à {marker.startTimecode} n'a ni nom ni commentaire.",
        "it_IT": "Il marcatore di tipo {labels.markerType} a {marker.startTimecode} non ha né un nome né un commento.",
        "ja_JP": "{marker.startTimecode}の{labels.markerType}マーカーに名前もコメントもありません。",
        "ko_KR": "{marker.startTimecode}의 {labels.markerType} 마커에 이름과 주석이 없습니다.",
        "pt_BR": "O marcador de {labels.markerType} em {marker.startTimecode} não tem nome nem comentário.",
        "ru_RU": "Маркер ({labels.markerType}) в позиции {marker.startTimecode} не имеет ни имени, ни комментария.",
        "zh_CN": "位于 {marker.startTimecode} 的{labels.markerType}标记没有名称和注释。"
      }
    },
    {
      "condition": {
        "all": [
          {
            "field": "marker.type",
            "operator": "notIn",
            "value": {
              "field": "options.ignoreTypes"
            }
          },
          {
            "field": "marker.name",
            "operator": "matches",
            "value": "^\\s*$"
          },
          {
            "field": "options.requireName",
            "operator": "equals",
            "value": true
          }
        ]
      },
      "message": {
        "en_US": "{labels.markerType} marker at {marker.startTimecode} has no name.",
        "de_DE": "{labels.markerType}-Marke bei {marker.startTimecode} hat keinen Namen.",
        "es_ES": "El marcador de tipo {labels.markerType} en {marker.startTimecode} no tiene nombre.",
        "fr_FR": "La marque de type {labels.markerType} à {marker.startTimecode} n'a pas de nom.",
        "it_IT": "Il marcatore di tipo {labels.markerType} a {marker.startTimecode} non ha un nome.",
        "ja_JP": "{marker.startTimecode}の{labels.markerType}マーカーに名前がありません。",
        "ko_KR": "{marker.startTimecode}의 {labels.markerType} 마커에 이름이 없습니다.",
        "pt_BR": "O marcador de {labels.markerType} em {marker.startTimecode} não tem nome.",
        "ru_RU": "Маркер ({labels.markerType}) в позиции {marker.startTimecode} не имеет имени.",
        "zh_CN": "位于 {marker.startTimecode} 的{labels.markerType}标记没有名称。"
      }
    }
  ],
  "labels": {
    "markerType": {
      "field": "marker.type",
      "values": {
        "Comment": {
          "en_US": "Comment",
          "de_DE": "Kommentar",
          "es_ES": "Comentario",
          "fr_FR": "Commentaire",
          "it_IT": "Commento",
          "ja_JP": "コメント",
          "ko_KR": "주석",
          "pt_BR": "Comentário",
          "ru_RU": "Комментарий",
          "zh_CN": "注释"
        },
        "Chapter": {
          "en_US": "Chapter",
          "de_DE": "Kapitel",
          "es_ES": "Capítulo",
          "fr_FR": "Chapitre",
          "it_IT": "Capitolo",
          "ja_JP": "チャプター",
          "ko_KR": "챕터",
          "pt_BR": "Capítulo",
          "ru_RU": "Глава",
          "zh_CN": "章节"
        },
        "WebLink": {
          "en_US": "Web Link",
          "de_DE": "Weblink",
          "es_ES": "Vínculo web",
          "fr_FR": "Lien Web",
          "it_IT": "Collegamento Web",
          "ja_JP": "Web リンク",
          "ko_KR": "웹 링크",
          "pt_BR": "Link da Web",
          "ru_RU": "Веб-ссылка",
          "zh_CN": "Web 链接"
        },
        "FLVCuePoint": {
          "en_US": "Flash Cue Point",
          "de_DE": "Flash-Cue-Point",
          "es_ES": "Punto de referencia de Flash",
          "fr_FR": "Point de repère Flash",
          "it_IT": "Cue point Flash",
          "ja_JP": "Flash キューポイント",
          "ko_KR": "Flash 큐 포인트",
          "pt_BR": "Ponto de sinalização do Flash",
          "ru_RU": "Ключевая точка Flash",
          "zh_CN": "Flash 提示点"
        },
        "Segmentation": {
          "en_US": "Segmentation",
          "de_DE": "Segmentierung",
          "es_ES": "Segmentación",
          "fr_FR": "Segmentation",
          "it_IT": "Segmentazione",
          "ja_JP": "セグメンテーション",
          "ko_KR": "세그먼트화",
          "pt_BR": "Segmentação",
          "ru_RU": "Сегментация",
          "zh_CN": "分段"
        }
      }
    }
  },
  "data": {
    "type": "marker.type",
    "colorIndex": "marker.colorIndex"
  }
}

On this page