App-Music-ChordPro
view release on metacpan or search on metacpan
lib/ChordPro/res/config/config.schema view on Meta::CPAN
"$ref": "#/definitions/colorspec"
}
]
},
"chordDiagramPDFLayout": {
"type": "object",
"properties": {
"show": {
"description": "Diagrams for the chords of the song can be shown at the `\"top\"`, `\"bottom\"` or `\"right\"` side of the first page, or `\"below\"` the last song line. Set to `false` to not show any diagrams.",
"oneOf": [
{
"type": "string"
},
{
"const": false
}
],
"enum": ["top", "bottom", "below", "right", false],
"default": "bottom"
},
"align": {
"type": "string",
"description": "Alignment for when `show` is set to `\"top\"`, `\"bottom\"` or `\"below\"`.",
"enum": ["left", "right", "center", "spread"],
"default": "left"
}
}
},
"pageFormat": {
"description": "Page format.\nAll elements can have three fields, that are placed to the left side, centered, and right side of the page.",
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"$ref": "#/definitions/tptspec",
"description": "Topmost title element.\nIt uses the `fonts.title` font."
},
"subtitle": {
"$ref": "#/definitions/tptspec",
"description": "Second title element.\nIt uses the `fonts.subtitle` font."
},
"footer": {
"$ref": "#/definitions/tptspec",
"description": "It uses the `fonts.footer` font."
},
"background": {
"type": "string",
"description": "Page background.\nThis can be used to designate an existing PDF document to be used as the background of the output page. It has the form `filename` or `filename:page`. Page numbers count from one.\nIf odd/even printing is i...
"examples": ["examples/bgdemo.pdf", "examples/bgdemo.pdf:5"]
}
}
},
"fontConfigFont": {
"type": "object",
"additionalProperties": false,
"required": [""],
"properties": {
"": {
"type": "string"
},
"bold": {
"type": "string"
},
"italic": {
"type": "string"
},
"bolditalic": {
"type": "string"
},
"oblique": {
"type": "string"
},
"boldoblique": {
"type": "string"
}
},
"if": {
"anyOf": [
{
"required": ["italic"]
},
{
"required": ["bolditalic"]
}
]
},
"then": {
"not": {
"anyOf": [
{
"required": ["oblique"]
},
{
"required": ["boldoblique"]
}
]
}
},
"else": {
"not": {
"anyOf": [
{
"required": ["italic"]
},
{
"required": ["bolditalic"]
}
]
}
}
},
"fontClass": {
"type": "string",
"enum": [
"serif",
"times",
"helvetica",
"sans",
"sans-serif",
"courier",
"mono",
"monospace",
"dingbats"
]
},
"delegatespec": {
"description": "Shared properties between all delegate types.",
"type": "object",
"required": ["type", "module", "handler"],
"$comment": "Due to use of `allOf` to allow reuse of shared structure, `additionalProperties` doesn't work properly to disallow any undefined properties. The correct keywork to use is `unevaluatedProperties`, but it is not supported until `JSON...
"properties": {
"align": {
"description": "Horizontal alignment of the resulting image, if `type` is `image`.",
"type": "string",
"enum": ["left", "center", "right"],
"default": "center"
},
"type": {
"title": "The result produced by the delegate handler.",
"type": "string",
"oneOf": [
{
"const": "image",
"title": "Expects the section to produce an image that will be embedded in the ChordPro output."
},
{
"const": "none",
"title": "Treats the section as a generic section."
},
{
"const": "omit",
"title": "Ignores the section."
},
{
"const": "filter",
"title": "For filtering plugins."
}
],
"default": "image"
},
"subtype": {
"description": "Type of the `image` produced. If not specified, it will be auto-detected.\nFor standard delegates, this is ignored, as they already know which type of image will be produced.\nFor cusotm delegates, this can be optionally spe...
"oneOf": [
{
"title": "Equivalent to omitting `subtype` altogether.",
"enum": [false, ""]
lib/ChordPro/res/config/config.schema view on Meta::CPAN
{
"title": "A type of image.",
"enum": [
"jpg",
"jpeg",
"png",
"svg",
"gif",
"tiff",
"xbm",
"pbm",
"pnm"
]
}
]
},
"handler": {
"title": "The module's method to call.",
"type": "string",
"default": "default"
},
"config": {
"type": "string",
"default": "default"
},
"preamble": {
"description": "Input lines to prepend to the user data.",
"type": "array",
"items": {
"type": "string"
}
},
"program": {
"description": "The program/command to execute.",
"type": "string",
"default": ""
},
"module": {
"type": "string",
"description": "The name of the (perl) module that implements the delegate."
},
"preprocess": {
"description": "Obsolete. Please use `parser.preprocess.env-...` instead.",
"type": "object"
},
"omit": {
"type": "boolean",
"description": "If `true`, no delegation will be handled.",
"default": false
},
"html": {
"description": "Specific settings for the HTML backend."
},
"pdf": {
"description": "Specific settings for the PDF backend."
}
}
},
"fontDescription": {
"type": "string",
"description": "A shorthand description of a font. In the format of `fontclass (bold)?(italic)? fontsize`.",
"$comment": "While visually complex, `pattern` was written so that each portion now has named capture groups, which can help with understanding and debugging the composition of the regular expression.",
"pattern": "^(?<nameOrType>[a-zA-Z\\-]+) ?(?<style>(?:bold)?(?:italic|oblique)?) ?(?<size>\\d+(?:\\.\\d+)?)?(?:;(?<addlProps> [^\\s=]+=[^\\s=]+)+)?$",
"examples": [
"serif bold 14",
"serif 11",
"serif 12",
"sans italic 10",
"sans italic 12",
"monospace 10",
"serif 11",
"sans 10",
"dingbats 10"
]
},
"fontspec": {
"description": "Font specification.",
"oneOf": [
{
"$ref": "#/definitions/fontDescription"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Font name."
},
"file": {
"type": "string",
"description": "Relative path to a font file."
},
"description": {
"$ref": "#/definitions/fontDescription"
},
"size": {
"type": "number",
"description": "Font size."
},
"color": {
"$ref": "#/definitions/color",
"description": "The colour of the font. See [ChordPro Colours](https://www.chordpro.org/chordpro/chordpro-colours/) for details on colours."
},
"background": {
"$ref": "#/definitions/color",
"description": "Background color for the element."
},
"frame": {
"description": "A boolean value indicating that a frame (box) should be drawn around the text.\nPrimarily used to specify the thickness of a comment box (`comment_box` directive) via the `comment_box` font, but can be used for any font....
"oneOf": [
{
"type": "boolean"
},
{
"type": "integer"
}
],
"enum": [true, false, 0, 1]
}
},
"anyOf": [
{
"required": ["description"]
},
lib/ChordPro/res/config/config.schema view on Meta::CPAN
}
},
"diagnostics": {
"type": "object",
"description": "When ChordPro detects errors while analyzing a song, it will use this format description to show diagnostic messages.\nIn the format, `\"%f\"` will be replaced by the song file name, `\"%n\"` by the line number in the file w...
"additionalProperties": false,
"properties": {
"format": {
"type": "string",
"description": "Format for error messages.",
"default": "\"%f\", line %n, %m\\n\\t%l"
}
}
},
"gridstrum": {
"description": "Grid strum overrides.",
"type": "object",
"properties": {
"symbols": {
"description": "Symbol or Unicode code points for the glyphs from ChordProSymbols.",
"type": "object"
}
}
},
"instrument": {
"description": "Description of the instrument.\nActual values are set from an included instrument config.",
"type": "object",
"additionalProperties": false,
"properties": {
"description": {
"description": "Descriptive instrument name.",
"type": "string",
"default": ""
},
"type": {
"description": "Instrument type.",
"type": "string",
"default": ""
}
}
},
"keys": {
"title": "Key strategies.",
"description": "ChordPro tries to follow ABC (abc2svg) as much as possible.",
"type": "object",
"additionalProperties": false,
"properties": {
"flats": {
"description": "The key `F#` is often used as is and not represented as an enharmonic equivalent. Set this to true if you want `Gb` instead of `F#`.",
"type": "boolean",
"default": false
},
"force-common": {
"description": "Replace keys with an excessive number of sharps by their more common enharmonic equivalents.\nSee also `settings.transpose-sf-key`.",
"type": "boolean",
"default": false
}
}
},
"markup": {
"description": "Settings for the markup processor.\nShortcodes allow user defined markup, e.g. <foo>...</foo>.\n```\nmarkup.shortcode {\n heavy : \"weight='bold' size='large'\"\n}\nEach occurrence of <heavy>...</heavy> will be replaced b...
"type": "object",
"additionalProperties": false,
"properties": {
"shortcodes": {
"description": "",
"type": "object",
"additionalProperties": true
}
}
},
"meta": {
"description": "Globally defined (added) meta data,\nThis is explicitly NOT intended for the metadata items above.\nDo NOT remove or change `_configversion`!",
"type": "object",
"additionalProperties": {
"type": "object"
},
"properties": {
"_configversion": {
"description": "Config file version.",
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
]
}
},
"default": {
"_configversion": [6]
}
},
"metadata": {
"title": "Metadata.",
"type": "object",
"additionalProperties": false,
"properties": {
"autosplit": {
"type": "boolean",
"description": "Split data on separator.\nIf enabled, metadata will be split on the separator to provide multiple values.",
"default": true
},
"keys": {
"description": "The list of known metadata keys.\nFor these keys you can use `{meta key â¦}` as well as `{key â¦}`.\nImportant: `\"title\"` and `\"subtitle\"` must always be in this list.",
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
},
"default": [
"title",
"subtitle",
"artist",
"composer",
"lyricist",
"arranger",
"album",
"copyright",
"year",
lib/ChordPro/res/config/config.schema view on Meta::CPAN
]
},
"diagramscolumn": {
"description": "Deprecated. Use `pdf.diagrams.show` instead. Chords diagrams are printed in a right column. Value is the column offset.",
"type": "number",
"default": 0,
"minimum": 0
},
"fontdir": {
"description": "The `fontdir` setting can be used to add one or more private font directories to the font libraries. The private directories will be searched first.",
"oneOf": [
{
"type": "null"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"default": [],
"examples": [
["/usr/share/fonts/liberation", "/home/me/fonts"]
]
},
"fontconfig": {
"description": "Font families and properties.\n`fontconfig` maps members of font families to physical fonts.\nOptionally, additional properties of the fonts can be specified.\nPhysical fonts can be the names of TrueType/OpenType fon...
"type": "object",
"properties": {
"serif": {
"$ref": "#/definitions/fontConfigFont"
},
"times": {
"$ref": "#/definitions/fontConfigFont"
},
"helvetica": {
"$ref": "#/definitions/fontConfigFont"
},
"sans, sans-serif": {
"$ref": "#/definitions/fontConfigFont"
},
"courier": {
"$ref": "#/definitions/fontConfigFont"
},
"mono, monospace": {
"$ref": "#/definitions/fontConfigFont"
},
"dingbats": {
"type": "object",
"additionalProperties": false,
"properties": {
"": {
"type": "string"
}
}
}
},
"default": {
"serif": {
"bold": "Times-Bold",
"italic": "Times-Italic",
"bolditalic": "Times-BoldItalic",
"": "Times-Roman"
},
"times": {
"bold": "Times-Bold",
"italic": "Times-Italic",
"bolditalic": "Times-BoldItalic",
"": "Times-Roman"
},
"helvetica": {
"bold": "Helvetica-Bold",
"oblique": "Helvetica-Oblique",
"boldoblique": "Helvetica-BoldOblique",
"": "Helvetica"
},
"sans, sans-serif": {
"bold": "Helvetica-Bold",
"italic": "Helvetica-Oblique",
"bolditalic": "Helvetica-BoldOblique",
"": "Helvetica"
},
"courier": {
"bold": "Courier-Bold",
"italic": "Courier-Italic",
"bolditalic": "Courier-BoldItalic",
"": "Courier"
},
"mono, monospace": {
"bold": "Courier-Bold",
"italic": "Courier-Italic",
"bolditalic": "Courier-BoldItalic",
"": "Courier"
},
"dingbats": {
"": "ZapfDingbats"
}
}
},
"fonts": {
"description": "`fonts` maps output elements to fonts as defined in `fontconfig`.\n\nSome element mappings can be specified, but it's not needed for all since they default to other elements:\nsubtitle --> text\nchorus ...
"type": "object",
"additionalProperties": false,
"properties": {
"annotation": {
"$ref": "#/definitions/fontspec",
"description": "The font used for annotations. If not set, falls back on the `chord` font.",
"default": {
"name": "Helvetica-Oblique",
"size": 10
},
"examples": ["sans italics 10"]
},
"chord": {
"$ref": "#/definitions/fontspec",
"description": "The font used for chords above the lyrics.",
"default": {
"name": "Helvetica-Oblique",
"size": 10
},
"examples": ["sans italics 10"]
},
"chordfingers": {
"description": "Font for numbers in chord diagram dots.\n`color` is for the numbers.\n`numbercolor` is for the dots.\n`size` doesn't matter unless `diagrams.fingers` = `\"below\"`.",
"anyOf": [
{
"$ref": "#/definitions/fontspec"
},
{
"type": "object",
"properties": {
"numbercolor": {
"$ref": "#/definitions/color",
"description": "Finger number colour specification.\nBy default this is the theme background colour. Setting this colour to the foreground colour (`\"foreground\"`) effectively hides the finger numbers.",
"default": "foreground"
}
}
}
],
"default": {
"name": "ZapfDingbats",
"size": 10,
"numbercolor": "background"
}
},
"comment": {
"$ref": "#/definitions/fontspec",
"description": "The font used for comments. If not set, falls back on the `text` font.",
"default": {
"name": "Helvetica",
"size": 12
},
lib/ChordPro/res/config/config.schema view on Meta::CPAN
"description": "The font used for `comment_box` directives. If not set, falls back on the `chord` font.",
"default": {
"name": "Helvetica",
"size": 12,
"frame": 1
},
"examples": [
{
"description": "sans 12",
"frame": 1
}
]
},
"grid": {
"$ref": "#/definitions/fontspec",
"description": "The font used for grid elements. If not set, falls back on the `chord` font.",
"default": {
"name": "Helvetica",
"size": 10
},
"examples": [
{
"description": "sans 10"
}
]
},
"subtitle": {
"$ref": "#/definitions/fontspec",
"description": "The font used for page subtitles. If not set, falls back on the `text` font.",
"default": {
"name": "Times-Roman",
"size": 12
},
"examples": ["serif 12"]
},
"tab": {
"$ref": "#/definitions/fontspec",
"description": "The font used for the contents of tab environments.",
"default": {
"name": "Courier",
"size": 10
},
"examples": ["mono 10"]
},
"text": {
"$ref": "#/definitions/fontspec",
"description": "The font used for lyrics texts.",
"default": {
"name": "Times-Roman",
"size": 12
},
"examples": ["serif 12"]
},
"title": {
"$ref": "#/definitions/fontspec",
"description": "The font used for page titles.",
"default": {
"name": "Times-Bold",
"size": 14
},
"examples": ["serif bold 14"]
},
"toc": {
"$ref": "#/definitions/fontspec",
"description": "The font used for the table of contents. If not set, falls back on the `text` font.",
"default": {
"name": "Times-Roman",
"size": 11
},
"examples": ["serif 11"]
},
"gridstrum": {
"$ref": "#/definitions/fontspec",
"description": "Font for typesetting gridstrum symbols.\nYou can set size and colours, but you cannot change the font.",
"default": {
"name": "ChordProSymbols",
"size": 13
}
},
"grille": {
"$ref": "#/definitions/fontspec",
"description": "Font for typesetting grilles.",
"default": {
"name": "Helvetica",
"size": 10
},
"examples": ["sans 10"]
},
"footer": {
"$ref": "#/definitions/fontspec",
"description": "The font used for footer texts. If not set, falls back on the `subtitle` font at 60% size."
},
"chorus": {
"$ref": "#/definitions/fontspec",
"description": "The font used for chorus texts. If not set, falls back on the `text` font."
},
"label": {
"$ref": "#/definitions/fontspec",
"description": "The font used for section labels. If not set, falls back on the `text` font."
},
"grid_margin": {
"$ref": "#/definitions/fontspec",
"description": "The font used for grid margin texts. If not set, falls back on the `comment` font."
},
"empty": {
"$ref": "#/definitions/fontspec",
"description": "The font used for empty lines. While this may not seem very relevant at first, by setting the fontâs *size* you can get a precise control over the amount of vertical whitespace in the output. If not set, falls ...
},
"diagram": {
"$ref": "#/definitions/fontspec",
"description": "The font for the chord names above chord diagrams. If not set, falls back on the `comment` font."
},
"diagram_base": {
"$ref": "#/definitions/fontspec",
"description": "The font for the base fret numbers in chord diagrams. Default is the setting for `text` but at a small size."
}
}
},
"footspace": {
"description": "Space for page footers.",
"type": "number",
( run in 0.905 second using v1.01-cache-2.11-cpan-98e64b0badf )