ShaderToMP4

HomeAccueil / ReferenceRéférence

Project file format (.s2mproj)Format du fichier projet (.s2mproj)

A project is a JSON file written by the program (ShaderToMP4 --dump-reference=project). Paths inside the project folder are written relative to it, so the folder can be moved. Example, as the program writes it:

{
  "format": "ShaderToMP4 project",
  "version": 1,
  "name": "example",
  "general": [
    "width=1920",
    "fps=30"
  ],
  "shaders": [
    {
      "path": "clip.glsl",
      "batch": 1,
      "priority": 1,
      "settings": [
        "fps=60"
      ],
      "passes": [
        "clip.bufferA.glsl"
      ],
      "media": [
        "texture.png"
      ]
    }
  ]
}
FieldTypeDescription
formatstringAlways ShaderToMP4 project.
versionnumberFormat version; a newer file than the program is refused, an older one is migrated.
namestringName of the project.
generalstring[]The general settings, one key=value line each (the same lines as config.ini).
shadersobject[]The shaders of the list, in rendering order.
shaders[].pathstringFile of the shader (relative when it is inside the project folder).
shaders[].batchnumberBatch number from 1 to 4; absent: none.
shaders[].prioritynumber1 high, -1 low; absent: normal.
shaders[].settingsstring[]Settings of this shader only ("This shader only"), key=value lines.
shaders[].passesstring[]Pass files that exist (Buffer A to D, Common, ...).
shaders[].mediastring[]Images, sounds and videos of the channels iChannel0 to iChannel3.

Format version written and read by this program: 1.

Un projet est un fichier JSON écrit par le programme (ShaderToMP4 --dump-reference=project). Les chemins situés dans le dossier du projet y sont relatifs : le dossier peut être déplacé. Exemple, tel que le programme l'écrit :

{
  "format": "ShaderToMP4 project",
  "version": 1,
  "name": "example",
  "general": [
    "width=1920",
    "fps=30"
  ],
  "shaders": [
    {
      "path": "clip.glsl",
      "batch": 1,
      "priority": 1,
      "settings": [
        "fps=60"
      ],
      "passes": [
        "clip.bufferA.glsl"
      ],
      "media": [
        "texture.png"
      ]
    }
  ]
}
ChampTypeDescription
formatstringToujours ShaderToMP4 project.
versionnumberVersion du format ; un fichier plus récent que le programme est refusé, un plus ancien est migré.
namestringNom du projet.
generalstring[]Les réglages généraux, une ligne clé=valeur chacun (les mêmes lignes que config.ini).
shadersobject[]Les shaders de la liste, dans l'ordre de rendu.
shaders[].pathstringFichier du shader (relatif quand il est dans le dossier du projet).
shaders[].batchnumberNuméro de lot de 1 à 4 ; absent : aucun.
shaders[].prioritynumber1 haute, -1 basse ; absent : normale.
shaders[].settingsstring[]Réglages de ce shader seulement (« Ce shader seul »), lignes clé=valeur.
shaders[].passesstring[]Fichiers des passes qui existent (Buffer A à D, Common, ...).
shaders[].mediastring[]Images, sons et vidéos des canaux iChannel0 à iChannel3.

Version du format écrite et lue par ce programme : 1.