# Duplicate effects (/docs/rules/no-duplicate-effects)

Reports clips with the same effect applied more than once.



{/* Generated by scripts/generate-docs.ts. Do not edit. */}

| Property         | Value                  |
| :--------------- | :--------------------- |
| Id               | `no-duplicate-effects` |
| Category         | Static                 |
| Default severity | info                   |
| Scope            | `effect`               |

## Options [#options]

| Option  | Type       | Default                                | Description                                                                            |
| :------ | :--------- | :------------------------------------- | :------------------------------------------------------------------------------------- |
| `allow` | `string[]` | `["AE.ADBE Crop","AE.ADBE Geometry2"]` | Match names allowed to appear several times on a clip (Crop and Transform by default). |

## Customize it [#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-duplicate-effects.rule.json` and edit it. See [Change a built-in rule](/docs/editor/saving#change-a-built-in-rule).

## Rule file [#rule-file]

```json title="no-duplicate-effects.rule.json"
{
  "formatVersion": 1,
  "id": "no-duplicate-effects",
  "name": {
    "en_US": "Duplicate effects",
    "de_DE": "Doppelte Effekte",
    "es_ES": "Efectos duplicados",
    "fr_FR": "Effets en double",
    "it_IT": "Effetti duplicati",
    "ja_JP": "重複したエフェクト",
    "ko_KR": "중복 효과",
    "pt_BR": "Efeitos duplicados",
    "ru_RU": "Повторяющиеся эффекты",
    "zh_CN": "重复效果"
  },
  "description": {
    "en_US": "Reports clips with the same effect applied more than once.",
    "de_DE": "Meldet Clips, auf die derselbe Effekt mehrmals angewendet wurde.",
    "es_ES": "Detecta clips con el mismo efecto aplicado más de una vez.",
    "fr_FR": "Signale les éléments auxquels le même effet est appliqué plusieurs fois.",
    "it_IT": "Segnala le clip a cui lo stesso effetto è applicato più volte.",
    "ja_JP": "同じエフェクトが複数回適用されているクリップを報告します。",
    "ko_KR": "같은 효과가 두 번 이상 적용된 클립을 보고합니다.",
    "pt_BR": "Relata clipes com o mesmo efeito aplicado mais de uma vez.",
    "ru_RU": "Сообщает о клипах, к которым один и тот же эффект применен несколько раз.",
    "zh_CN": "报告多次应用同一效果的剪辑。"
  },
  "category": "static",
  "scope": "effect",
  "severity": "info",
  "options": {
    "allow": {
      "type": "string[]",
      "default": [
        "AE.ADBE Crop",
        "AE.ADBE Geometry2"
      ],
      "description": "Match names allowed to appear several times on a clip (Crop and Transform by default)."
    }
  },
  "checks": [
    {
      "condition": {
        "all": [
          {
            "field": "effect.count",
            "operator": "greaterThanOrEqual",
            "value": 2
          },
          {
            "field": "effect.firstOfKind",
            "operator": "equals",
            "value": true
          },
          {
            "field": "effect.matchName",
            "operator": "notIn",
            "value": {
              "field": "options.allow"
            }
          }
        ]
      },
      "message": {
        "en_US": {
          "count": "effect.count",
          "one": "Clip \"{clip.name}\" on {clip.track} has {effect.count} instance of \"{effect.displayName}\".",
          "other": "Clip \"{clip.name}\" on {clip.track} has {effect.count} instances of \"{effect.displayName}\"."
        },
        "de_DE": {
          "count": "effect.count",
          "one": "Clip „{clip.name}“ auf {clip.track} enthält {effect.count} Instanz von „{effect.displayName}“.",
          "other": "Clip „{clip.name}“ auf {clip.track} enthält {effect.count} Instanzen von „{effect.displayName}“."
        },
        "es_ES": {
          "count": "effect.count",
          "one": "Clip \"{clip.name}\" en {clip.track} tiene {effect.count} instancia de \"{effect.displayName}\".",
          "other": "Clip \"{clip.name}\" en {clip.track} tiene {effect.count} instancias de \"{effect.displayName}\"."
        },
        "fr_FR": {
          "count": "effect.count",
          "one": "Élément « {clip.name} » sur {clip.track} comporte {effect.count} occurrence de l'effet « {effect.displayName} ».",
          "other": "Élément « {clip.name} » sur {clip.track} comporte {effect.count} occurrences de l'effet « {effect.displayName} »."
        },
        "it_IT": {
          "count": "effect.count",
          "one": "Clip \"{clip.name}\" su {clip.track} ha {effect.count} istanza di \"{effect.displayName}\".",
          "other": "Clip \"{clip.name}\" su {clip.track} ha {effect.count} istanze di \"{effect.displayName}\"."
        },
        "ja_JP": "クリップ「{clip.name}」（{clip.track}）に「{effect.displayName}」が{effect.count}個適用されています。",
        "ko_KR": "{clip.track}의 클립 \"{clip.name}\"에 \"{effect.displayName}\" 효과가 {effect.count}개 적용되어 있습니다.",
        "pt_BR": {
          "count": "effect.count",
          "one": "Clipe \"{clip.name}\" em {clip.track} tem {effect.count} instância de \"{effect.displayName}\".",
          "other": "Clipe \"{clip.name}\" em {clip.track} tem {effect.count} instâncias de \"{effect.displayName}\"."
        },
        "ru_RU": {
          "count": "effect.count",
          "one": "Клип «{clip.name}» на {clip.track} содержит {effect.count} экземпляр эффекта «{effect.displayName}».",
          "few": "Клип «{clip.name}» на {clip.track} содержит {effect.count} экземпляра эффекта «{effect.displayName}».",
          "many": "Клип «{clip.name}» на {clip.track} содержит {effect.count} экземпляров эффекта «{effect.displayName}».",
          "other": "Клип «{clip.name}» на {clip.track} содержит {effect.count} экземпляра эффекта «{effect.displayName}»."
        },
        "zh_CN": "{clip.track} 上的剪辑“{clip.name}” 应用了 {effect.count} 个“{effect.displayName}”实例。"
      }
    }
  ],
  "data": {
    "matchName": "effect.matchName",
    "displayName": "effect.displayName",
    "count": "effect.count"
  }
}
```
