clap

CLAP Audio Plugin API
Log | Files | Refs | README | LICENSE

extension-id.md (1451B)


      1 # Extension ID
      2 
      3 ## Naming
      4 
      5 The extension shall be named in the form: `clap.$NAME/$REV`.
      6 Where:
      7 - `$NAME` is the name of the exension.
      8 - `$REV` is the revision of the extension. This is an integer that is incremented for each iteration. It should start at 1.
      9 
     10 For extensions made by third-parties and not officially published by the CLAP project, please use the following form: `$REVERSE_URI.$NAME/$REV`.
     11 Where:
     12 - `$REVERSE_URI` would be something like `com.bitwig`.
     13 
     14 ## Draft
     15 
     16 An extension is considered a draft extension if it is in the [draft](../include/clap/ext/draft/) folder.
     17 Make sure to also include it in [all.h](../include/clap/all.h).
     18 
     19 When the extension is migrating from draft to stable, its extension ID must not change.
     20 Move its inclusion from [all.h](../include/clap/all.h) into [clap.h](../include/clap/clap.h).
     21 
     22 All extensions must go though the draft phase first.
     23 
     24 ## For factory ID
     25 
     26 Everything about the extension id symmetrically applies to factory id.
     27 
     28 ## History
     29 
     30 Before version 1.2.0 when this document was written, existing extensions didn't honor these rules.
     31 We wanted to stabilize some draft extensions without breaking compatibility, yet their extension IDs contained the string `draft`.
     32 While these strings weren't user-facing, we still wanted to remove them, so we updated the extension IDs according to this document and introduced IDs with `_COMPAT` suffixes to provide backward compatibility with the draft versions.