Faircamp 2.0.0 Docs
On this page

Track settings

In Faircamp, each audio file is automatically a "track". Asides this implicit mapping you can also explicitly create tracks, even without an audio file.

Tracks can exist on their own, as stand-alone releases. In this case they need to be wrapped into their own track directory. They can also exist as a track in a multitrack, in which case they can be either an audio file that is directly placed in the multitrack directory, or placed in their own track directory, potentially with their own track manifest.

A track.eno manifest must always be placed inside a track directory. To set up a track directory simply take the audio file of the respective track and put it into its own directory (the naming of that directory is entirely up to you, it does not affect anything). That is then your track directory, where you also put the track.eno manifest in. For example, in the context of a track in a multitrack:

Directory Example EP/ Multitrack directory
Image file cover.jpg
Manifest multitrack.eno
Directory 01 First Track/ Track directory
Image file cover.jpg
Manifest track.eno
Audio file 01 First Track.mp3
Audio file 02 Second Track.mp3 Track without own directory
Audio file 03 Third Track.mp3

As you can see, in a track directory you can also put an image file to be used as cover for that track - this is picked up automatically! Additionally, extra files in a track directory will be treated as track extras, by default separately downloadable from the track's download page.

The remainder of this page alphabetically lists all available settings for tracks.

artists
Default-able Use the prefixed form track.artists outside of track manifests

If your audio file is not tagged, or the tags contain inaccurate values, or for any other reason, you can use the artists option to explicitly set one or multiple artists for the track. Note that for tracks inside a multitrack this can implicitly affect the artists of the multitrack (which can be explicitly set with the multitrack.artists setting too though).

To set a single artist for a track:

artists:
- Alice

To set multiple artists for a track:

artists:
- Alice
- Bob

copy_link
Default-able Use the prefixed form track.copy_link outside of track manifests

To disable the "Copy link" button (by default it's enabled) you can use the copy_link option, with either enabled or disabled as value.

copy_link: disabled

cover
Local-only This track setting can not inherit default values from other manifests

cover: cover.jpg

Provide the path of the image, relative from the manifest's location (i.e. if the image is in the same directory as the manifest, provide just the filename).

Note that track cover images are always displayed in square aspect ratio. If you supply a non-square image it will be square-cropped for display.

cover_description
Local-only This track setting can not inherit default values from other manifests

-- cover_description
Alice with her guitar collection
-- cover_description

If you use a cover image, make sure to include a cover_description so that visually impaired people can also make sense of it (this description is used as the alt text for the image).

You can either provide a multiline or inline value according to your preference and required length for the description. A multiline example:

-- cover_description
A photograph separated into two planes:
In the foreground, an old lady, smiling into the camera.
In the background, an unrecognizable mechanical contraption.
-- cover_description

An inline example:

cover_description: A photograph of a cat, tiptoeing over modular synthesizer panels

download_access
Default-able Use the prefixed form track.download_access outside of track manifests

By default your visitors can only stream your tracks.

To enable free downloads of a track all you need to do is set one or more download formats with the download_formats option.

Beyond this, the download_access option controls how visitors can access downloads - by default as free downloads - but this can be changed to external downloads, downloads accessible through download codes, or downloads placed behind a soft paycurtain, and you can also disable access to downloads here.

Free downloads

This is the default (you don't need to set it yourself), but in case you want to re-enable it in a manifest:

download_access: free

External downloads

If you want to use your faircamp site purely to let people stream your audio, but there is another place on the web where your track(s) can be downloaded, external downloads allow you to display a download button that merely takes people to the external download page.

For example, to display a download button that takes people to https://example.com/artist/purchase/, simply use that url as the value for this setting:

download_access: https://example.com/artist/purchase/

Download code(s)

A download code (like a coupon/token) needs to be entered to access downloads.

To protect downloads with a code:

download_access: code

In combination with this use the download_codes option to set the codes for accessing downloads and the payment_info option to provide a text that is displayed with the code input field (to give your audience directions on how to obtain a download code).

Soft Paycurtain

A soft (i.e. not technically enforced) paycurtain needs to be passed before downloading.

To provide downloads behind a soft paycurtain:

download_access: paycurtain

In combination with this option, use the price and payment_info options to set a price and give instructions for where the payment can be made.

Disable downloads

Downloads can also be disabled explicitly (e.g. if you quickly want to take them offline at some point):

download_access: disabled

download_codes
Default-able Use the prefixed form track.download_codes outside of track manifests

To set a single download code that can be entered to access downloads:

download_code: crowdfunding2023

To set multiple download codes that can be entered to access downloads:

download_codes:
- GOLDsupporter
- SILVERsupporter

Note that you also need to use the download_access option (download_access: code) to activate download codes. In addition it is highly recommended to use the unlock_info option to provide a text that is displayed alongside the code input prompt.

download_formats
Default-able Use the prefixed form track.download_formats outside of track manifests

Sets the formats in which single tracks can be separately downloaded. By default none are specified, so this needs to be set in order to enable separate downloads for single tracks at all.

To set a single download format:

download_formats:
- flac

To set multiple download formats:

download_formats:
- flac
- mp3
- opus

To offer downloads in their original format and quality (without transcoding, exactly as you provided the audio, but potentially with tag remapping):

download_formats:
- original

To disable all download formats:

download_formats: none

All currently available formats:

  • aac
  • aiff
  • alac
  • flac
  • mp3
  • ogg_vorbis
  • opus_48
  • opus_96
  • opus_128
  • original
  • wav

In practice a minimal combination of a lossy state of the art format (e.g. opus), a lossy format with high compatibility (e.g. mp3) and a lossless but compressed format (e.g. flac) is recommended.

download_links
Default-able Use the prefixed form track.download_links outside of track manifests

download_links:
- Platform A https://example.com/release/download/
- Platform B https://...
- https://...

You can supply any number of links to allow your listeners to download the track from other sites. Links can only be full urls (e.g. "https://example.com").

For each link you can supply either just the bare link (e.g. - https://..., or (more commonly) add a label for the link, which can be put before or after the link itself (- Example Label https://... or - https://... Example Label).

Note that you also need to use the download_access option to actually enable download links, for instance:

download_access: external

download_links:
- https://example.com/release/download/
- https://...

embedding
Default-able Use the prefixed form track.embedding outside of track manifests

This allows external sites to embed a widget that lets people play back the track from your site. The embed code can be copied from a page that is linked to onthe track page.

Embedding is disabled by default. If you want to enable it you also need to set the site's site.base_url setting (embeds work by displaying something from your site on another site, for this the other site needs to point to your site's address).

embedding: enabled

external_page
Local-only This track setting can not inherit default values from other manifests

external_page: https://example.com

With this option set, the track is linked to an external page wherever it appears on the faircamp site. The track page itself is not generated in that case, or rather: It becomes a redirect to the external page.

extra_downloads
Default-able Use the prefixed form track.extra_downloads outside of track manifests

Any additional files in a track directory besides the audio file, cover image and track.eno manifest (e.g. artwork, liner notes, lyrics, etc.) are considered "extras" and by default bundled in the zip archives for multitrack downloads (if the track is contained in a multitrack release) as well as being provided for separate download (bundled+separate option).

To turn this off and entirely disable track extras:

extra_downloads: disabled

To provide track extras as bundled downloads in a multitrack context only:

extra_downloads: bundled

To provide track extras as separate downloads only:

extra_downloads: separate

To restore the default behavior:

extra_downloads: bundled+separate

extras_label
Default-able Use the prefixed form track.extras_label outside of track manifests

If you provide additional files for download with a track(e.g. sheet music or liner notes as a PDF), those will, by default, be labelled as "Extras", both on the site, as well as potentially as a folder name in downloadable zip archives of your release.

The extras_label setting allows you to customize the wording for this for your usecase (e.g. "Goodies", "Liner Notes", "Bonus material", etc.).

extras_label: Bonus content

homepage
Local-only This track setting can not inherit default values from other manifests

homepage

Makes this track page the homepage of your site. There is only one homepage, so this setting can only be used in one place at a time.

links
Local-only This track setting can not inherit default values from other manifests

links:
- Track review https://example.com/some-blog/some-review/
- Another review https://example.com/another-blog/another-review/
- Production credits #credits

You can supply any number of links, these are prominently displayed in the header/landing area of your track page. Links can be full urls (e.g. "https://example.com") or references to anchors within the page (e.g. "#about").

For each link you can supply either just the bare link (e.g. - https://example.com, or (more commonly) add a label for the link, which can be put before or after the link itself (- Example Label https://example.com or - https://example.com Example Label).

more
Local-only This track setting can not inherit default values from other manifests

-- more
Recorded in the summer of '94 at West Callaghan Ranch, XE.

Featuring Ted Tukowsky on Trombone and Lisa Merringfield on Theremin.
-- more

This field lets you provide long-form content of any kind to augment the track page with: Liner notes, production staff credits, lyrics, making of stories, etc. When provided, this content appears right after the track player/waveform on the track page.

The more field supports Markdown.

more_label
Default-able Use the prefixed form track.more_label outside of track manifests

more_label: Lyrics

If you provide long-form content for your track (which can be anything you want, content-wise) through the more field, by default there will be a link with the label "More" on your track page, leading to the section containing that content. This link and label will also appear right by the track where it appears on the release page. If you want to customize that label so it specifically refers to the type of content you are providing there, the more_label field allows you to do that. Some typical examples of custom labels one might use in the context of a track: "Lyrics", "Details", "Liner Notes", "About" etc.

number
Local-only This track setting can not inherit default values from other manifests

number: 6

With number you can set or override the track number, for instance if none or a wrong one is provided through audio file metadata.

numbering
Default-able Use the prefixed form track.numbering outside of track manifests

numbering: arabic-dotted

numbering allows configuration of the numbering style used for the track number, offering the following choices:

  • arabic (1 2 3 …)
  • arabic-dotted (1. 2. 3. …)
  • arabic-padded (01 02 03 …) (default)
  • disabled (Don't display track numbers)
  • hexadecimal (0x1 0x2 0x3 …)
  • hexadecimal-padded (0x01 0x02 0x03 …)
  • roman (I II III …)
  • roman-dotted (I. II. III. …)

Most often you will set this either as a site-wide default or at the multitrack release level, i.e. in a site.eno or multitrack.eno manifest as:

track.numbering: hexadecimal-padded

payment_info
Default-able Use the prefixed form track.payment_info outside of track manifests

This is used together with the paycurtain setting of the download_access option (download.access: paycurtain) to set the text that is displayed before downloads are accessed.

The general idea here is to provide external links to one or more payment, donation or patronage platforms that you use, be it liberapay, ko-fi, paypal, stripe, etc. You can use Markdown to place links, bullet points, etc. in the text.

-- payment_info
Most easily you can transfer the money for your purchase
via my [liberapay account](https://liberapay.com/somewhatsynthwave)

Another option is supporting me through my [ko-fi page](https://ko-fi.com/satanclaus92)

If you're in europe you can send the money via SEPA, contact me at
[lila@thatawesomeartist42.com](mailto:lila@thatawesomeartist42.com) and I'll
send you the account details.

On Dec 19th I'm playing a show at *Substage Indenhoven* - you can get the
digital album now and meet me at the merch stand in december in person to give
me the money yourself as well, make sure to make a note of it though! :)
-- payment_info

permalink
Local-only This track setting can not inherit default values from other manifests

permalink: example-track

The permalink is a short, unique text fragment (for instance: example-track) that forms a part of the permanent address of a track page. For an online faircamp site, the permalink is appended to the site.base_url to construct the full address of the page.

For instance: https://example.com (the site.base_url) + example-track (the permalink) = https://example.com/example-track – this is the link that you can share with your visitors to point them to the track page.

Permalinks may only contain the following characters:

  • a-z (lowercase letters only)
  • 0-9
  • - (dash)

If you don't specify your own permalink, faircamp auto-generates one from the title (for instance the title Example Track becomes the permalink example-track then). Note that in this case when the title changes, the permalink does too. This can lead to other people's bookmarks or links to your site becoming invalidated. Therefore it's generally recommended to specify your own permalinks – at least for the most important things on your site.

If you set/enable either external_page or homepage for your track, the permalink is still relevant: The page address (part of which is the permalink) then becomes a redirect to either the external page or the homepage.

platform_integration
Default-able Use the prefixed form track.platform_integration outside of track manifests

Facebook's Open Graph metadata (and other adjacent protocols) are used by platforms to crawl and harvest content from (linked) websites in order to present them using a uniform "card" design pattern inside social feeds and timelines.

By default, faircamp only renders metadata that is used to generate link previews whenever someone links to things on your faircamp site. This can be disabled with:

platform_integration: disabled

Open Graph properties that get rendered (when link previews are enabled) are the mandatory og:title, og:image (including alt, height and width), og:type (always as website) and og:url properties, as well as og:locale and og:site_name. Where present, the synopsis field is rendered as the og:description property additionally.

In the near future faircamp will also gain support for rendering content embeds, that is, metadata and embed code that allows platforms to directly integrate a media player for your audio material in user timelines. You can already configure this with the setting below, but until it's implemented this will act identically to the link_previews setting.

platform_integration: content_embeds

The factory setting (in case you need to reset your own inherited default) can be set with:

platform_integration: link_previews

podcast.explicit
Default-able Use the prefixed form track.podcast.explicit outside of track manifests

podcast.explicit: yes

Set this to yes if this track contains explicit language or adult content.

price
Default-able Use the prefixed form track.price outside of track manifests

This is used together with the paycurtain setting of the download_access option (download_access: paycurtain) to set the price for track downloads that is displayed before the downloads are accessed.

For example in order to ask for 4€ for accessing the downloads of a track:

price: EUR 4+

The price option accepts an ISO 4217 currency code and a price range such as:

  • USD 0+ (Name your price, including zero dollars as a valid option)
  • 3.50 GBP (Exactly 3.50 Pounds)
  • KRW 9080 (Exactly 9080 south korean won)
  • INR 230+ (230 indian rupees or more)
  • JPY 400-800 (Between 400 and 800 japanese yen)

published
Local-only This track setting can not inherit default values from other manifests

published: 2024-12-19T16:39:57-08:00

A date/time specifying when this track was first published on the faircamp site. This will be primarily used in your Atom/RSS feeds as metadata for feed consumers.

Also see these related settings:

  • released – Date when this track was first released anywhere.
  • updated – Date/time when this track was last updated on the faircamp site.

released
Local-only This track setting can not inherit default values from other manifests

released: 1999-12-31

A date specifying when this track was released on the faircamp site or anywhere else. This date can be used for sorting and can also be shown on the site as information for listeners.

The date must be supplied strictly in the format YYYY-MM-DD.

Also see these related settings:

  • published – Date/time when this track was first published on the faircamp site.
  • updated – Date/time when this track was last updated on the faircamp site.

speed_controls
Default-able Use the prefixed form track.speed_controls outside of track manifests

By default, faircamp's audio player(s) provide no playback speed controls, assuming that it's intended for your audience to listen to the material at its original speed only (e.g. for music, where this is usually the norm).

If you publish (e.g.) a narrative podcast or audio book and want people to listen to the narration at their desired speed, you can enable playback speed controls with this option:

speed_controls: enabled

By using disabled as value this setting can also be reverted.

streamable
Default-able Use the prefixed form track.streamable outside of track manifests

streamable: no

Controls whether this track may be streamed from the website (by default it's yes). Note that setting this to no implicitly removes the track or, where technically supported, hides the audio in your Atom/RSS feeds and M3U playlists as well.

streaming_quality
Default-able Use the prefixed form track.streaming_quality outside of track manifests

streaming_quality: frugal

Supported values: frugal, original or standard

By default faircamp uses standard encoding quality for streaming.

The setting frugal uses considerably less bandwidth, reduces emissions and improves load times for listeners, especially on slower connections.

With the original setting faircamp directly uses your source audio material as streaming material, without any transcoding. This also means that you need to ensure that your supplied format is actually supported by browsers, and that it is a somewhat reasonably compressed streaming format. Providing lossless, uncompressed audio data to listeners might technically work, but neither your provider or server, nor your listeners will appreciate the excessively high amount of traffic being consumed by this.

synopsis
Local-only This track setting can not inherit default values from other manifests

-- synopsis
Nobody thought it possible, until somebody did it. The track that started it all!
-- synopsis

A short (256 characters max), plaintext introduction text for your track, this is prominently featured atop your track page.

tags.album
Default-able Use the prefixed form track.tags.album outside of track manifests

Only applied in retag mode, see tags.mode.

tags.album: auto

Controls retag behavior for the album tag (default: auto).

For stand-alone tracks the auto setting picks the first available item in this list:

  1. Album tag from the source audio file metadata
  2. Track title from the manifest
  3. Track title from the source audio file metadata
  4. Track title derived from the source audio filename

For tracks in a multitrack release the auto setting picks the first available item in this list:

  1. Multitrack title from the manifest
  2. Multitrack title derived from the source audio file metadata of all tracks
  3. Multitrack title derived from the multitrack directory name

To copy the tag 1:1 from the source audio file, if present:

tags.album: copy

To never write the tag:

tags.album: omit

tags.album_artist
Default-able Use the prefixed form track.tags.album_artist outside of track manifests

Only applied in retag mode, see tags.mode.

tags.album_artist: auto

Controls retag behavior for the album artist tag (default: auto).

For stand-alone tracks the auto setting always omits the album artist tag.

For tracks in a multitrack release the auto setting omits the album artist tag if the artist(s) of all tracks are exactly the artist(s) of the multitrack release itself, or if there are no multitrack artists set at all. Otherwise the multitrack artists are used as specified in the manifests or as derived from audio metadata in the tracks.

To copy the tag 1:1 from the source audio file, if present:

tags.album_artist: copy

To never write the tag:

tags.album_artist: omit

tags.artist
Default-able Use the prefixed form track.tags.artist outside of track manifests

Only applied in retag mode, see tags.mode.

tags.artist: auto

Controls retag behavior for the artist tag (default: auto).

With the auto setting, all artists for the track that were specified either in a manifest or in the original audio file metadata are used for the artist tag.

To copy the tag 1:1 from the source file (if present):

tags.artist: copy

To never write the tag:

tags.artist: omit

tags.image
Default-able Use the prefixed form track.tags.image outside of track manifests

Only applied in retag mode, see tags.mode.

Note that embedded images are only supported by some audio container formats

tags.image: omit

Controls retag behavior for embedded images (default: omit).

The default setting omit never embeds any images in output audio files. Some reasons for this being the default are:

  • Embedded cover images can significantly increase the filesize of audio files
  • They can constitute redundant data when they are also included as external files with downloads or feed metadata
  • Embedded cover images are often not used/seen at all (e.g. when streaming audio)
  • Support for embedded images varies across different audio container formats, leading to unpredictable outcomes that may not match user expectations

To copy the embedded image 1:1 from the source file (if present):

tags.image: copy

To enable auto behavior:

tags.image: auto

The auto setting will preferentially embed an image that has been supplied as stand-alone cover for the track (or the parent multitrack release). If neither is available, it will copy the embedded image from the original audio file, if present.

tags.mode
Default-able Use the prefixed form track.tags.mode outside of track manifests

tags.mode: retag

By default, Faircamp retags your audio files: All metadata is stripped off the audio files that you supply when it transcodes them for streaming and downloading, and only a limited subset of tags managed by Faircamp – title, track number, artist(s), album artist(s) and album title – is added back in (when present).

The tags.mode option lets you control this behavior.

Set it to copy and faircamp will transfer all tags 1:1 from the source file onto the transcoded files, as you provided them. Note that only those tags that each target audio file format supports can be transferred, so "all tags" in practice might not always mean literally all of them.

tags.mode: copy

Set it to untag and faircamp will produce entirely untagged files for streaming and download.

tags.mode: untag

In order to assert fine-grained control over tags, you can also specify precise behavior per tag in combination with the (default) retag mode. For this see each specific retag setting:

The default retag behavior in Faircamp corresponds to the following settings:

tags.album: auto
tags.album_artist: auto
tags.artist: auto
tags.image: omit
tags.title: auto
tags.track: auto

tags.title
Default-able Use the prefixed form track.tags.title outside of track manifests

Only applied in retag mode, see tags.mode.

tags.title: auto

Controls retag behavior for the title tag (default: auto).

The default auto setting writes the title tag from the title that has been specified through a manifest, through audio file metadata, or derived from the original audio filename, in that order.

To copy the tag 1:1 from the source file (if present):

tags.title: copy

To never write the tag:

tags.title: omit

tags.track
Default-able Use the prefixed form track.tags.track outside of track manifests

Only applied in retag mode, see tags.mode.

tags.track: auto

Controls retag behavior for the track number tag (default: auto).

The default auto setting writes the track number tag from the track number that has been specified through a manifest, through audio file metadata, or obtained by applying a detection heuristic to the filenames of all tracks, in that order.

To copy the tag 1:1 from the source file (if present):

tags.track: copy

To never write the tag:

tags.track: omit

theme.cover_generator
Default-able Use the prefixed form track.theme.cover_generator outside of track manifests

theme.cover_generator: space_time_rupture_light

Faircamp generates procedural cover images for all releases for which you do not provide your own cover image. With this setting you can choose from a set of algorithms. Note that procedural covers will probably undergo bigger changes in the future – this is still open and ongoing experimentation.

Available cover generators:

  • best_rillen_dark
  • best_rillen_light
  • blocks_dark
  • blocks_light
  • glass_splinters_dark
  • glass_splinters_light
  • lovely_tunes_dark
  • lovely_tunes_light
  • scratchy_faint_rillen_dark
  • scratchy_faint_rillen_light
  • space_time_rupture_dark
  • space_time_rupture_light

theme.dark
Default-able Use the prefixed form track.theme.dark outside of track manifests

theme.dark:
accent_brightening = 85
accent_chroma = 50
accent_hue = 23
base_chroma = 34
base_hue = 180
background_alpha = 23
background_image = simple_texture.jpg

Adjusts the colors and/or background image of the dark theme. Note that theme.mode needs to be either adaptive or dark for this to have any effect, otherwise the dark theme is never displayed.

Tip: With the --theming-widget CLI option you can interactively explore the theme.dark and theme.light theme settings. Build your site with this option enabled and every page will contain the theming widget (don't forget to turn it off before deployment).

Dynamic range

theme.dark:
dynamic_range = 24

At the highest dynamic_range (100%) the dark theme is darkest and the least colorful (depending on chroma settings, see below). The lower the dynamic_range (0% being the default) the more it will have a differentiated dark grey feeling and become more colorfully tinted with rising base_chroma levels.

Tip: By interatively exploring different values with the --theming-widget option you can get a good feeling of what this does and how you want to set it.

Base and accent colors

theme.dark:
base_chroma = 34
base_hue = 180
accent_brightening = 85
accent_chroma = 50
accent_hue = 23

The theme is initially monochromatic (without color).

With base_chroma (0-100 (%)) you control the colorfulness of the theme, while the base_hue (0-360 (degrees)) setting sets the shade of the color.

Some elements on the page are accentuated (prominent buttons and the "timeline" of the audio player). The colorfulness of the accentuation is customized with the accent_chroma (0-100 (%)) setting, while the accent_hue (0-360 (degrees)) setting adjusts its shade. The accent_brightening (0-100 (%)) setting allows you to brighten or darken this color accent (it's at 50% by default), which allows for stronger and deeper colors still.

Background image

theme.dark:
background_alpha = 23
background_image = simple_texture.jpg

The previously described theme.dark settings can be handled carefree - no matter the settings, your site will stay readable (at worst it may look funny). When you set a background image however, choose carefully what image you use and how opaque you make it. Sharp details and strong contrasts within the image and against the text of the site will render the site hard to read or even unreadable. That said, background_image lets you reference the image to use, and with background_alpha (0-100 (%)) you can optionally control its opaqueness.

theme.font
Default-able Use the prefixed form track.theme.font outside of track manifests

By default, faircamp bundles and uses the Barlow font on a generated site, but alternatively you can also configure your site to only use your visitors' system font(s):

Using the standard sans serif font from the system of the visitor:

theme.font: system-sans

Using the standard serif font from the system of the visitor:

theme.font: system-serif

Using the standard monospace font from the system of the visitor:

theme.font: system-mono

To reset to faircamp's bundled default font:

theme.font: bundled-default

Usage of custom fonts entails complexities and responsibilities that faircamp can not generically automate away, therefore this requires manual integration through the site.assets and site.metadata options - this also gives a great amount of flexibility, including the possibility to use multiple fonts and tweak their integration down to the last detail where needed.

theme.light
Default-able Use the prefixed form track.theme.light outside of track manifests

theme.light:
accent_brightening = 85
accent_chroma = 50
accent_hue = 23
base_chroma = 34
base_hue = 180
background_alpha = 23
background_image = simple_texture.jpg

Adjusts the colors and/or background image of the light theme. Note that theme.mode needs to be either adaptive or light for this to have any effect, otherwise the light theme is never displayed.

Tip: With the --theming-widget CLI option you can interactively explore the theme.dark and theme.light theme settings. Build your site with this option enabled and every page will contain the theming widget (don't forget to turn it off before deployment).

Dynamic range

theme.light:
dynamic_range = 24

At the highest dynamic_range (100%) the light theme is the most bright and the least colorful (depending on chroma settings, see below). The lower the dynamic_range (0% being the default) the more it will have a differentiated light grey feeling and become more colorfully tinted with rising base_chroma levels.

Tip: By interatively exploring different values with the --theming-widget option you can get a good feeling of what this does and how you want to set it.

Base and accent colors

theme.light:
base_chroma = 34
base_hue = 180
accent_brightening = 85
accent_chroma = 50
accent_hue = 23

The theme is initially monochromatic (without color).

With base_chroma (0-100 (%)) you control the colorfulness of the theme, while the base_hue (0-360 (degrees)) setting sets the shade of the color.

Some elements on the page are accentuated (prominent buttons and the "timeline" of the audio player). The colorfulness of the accentuation is customized with the accent_chroma (0-100 (%)) setting, while the accent_hue (0-360 (degrees)) setting adjusts its shade. The accent_brightening (0-100 (%)) setting allows you to brighten or darken this color accent (it's at 50% by default), which allows for stronger and deeper colors still.

Background image

theme.light:
background_alpha = 23
background_image = simple_texture.jpg

The previously described theme.light settings can be handled carefree - no matter the settings, your site will stay readable (at worst it may look funny). When you set a background image however, choose carefully what image you use and how opaque you make it. Sharp details and strong contrasts within the image and against the text of the site will render the site hard to read or even unreadable. That said, background_image lets you reference the image to use, and with background_alpha (0-100 (%)) you can optionally control its opaqueness.

theme.mode
Default-able Use the prefixed form track.theme.mode outside of track manifests

theme.mode: light

This controls the overall theme appearance – dark, light or adaptive.

The default setting is adaptive, which means that a dark or light theme will be displayed automatically, based on browser/system preferences of each site visitor.

With dark and light you can instead opt for a fixed dark or light appearance for all visitors.

theme.round_corners
Default-able Use the prefixed form track.theme.round_corners outside of track manifests

To give a softer feel to your page, set the round_corners option to enabled, this will add a round corner to your cover images:

theme.round_corners: enabled

By setting it to disabled you can restore the default behavior:

theme.round_corners: enabled

theme.waveforms
Default-able Use the prefixed form track.theme.waveforms outside of track manifests

By default, the width of each track's waveform on a multitrack release page will render at a different length, reflecting the duration of the track in relation to the longest track on the release - for instance if the longest track on a release is about two minutes long, that one will span the full width, but another track that is only about one minute long will span only half of that width. If you publish releases whose tracks have wildly varying lengths, shorter tracks might get very narrow in the interface. If this is a concern to you, or you just generally want all tracks to be full-width as an aesthetic choice, you can enable this alternative behavior with this setting:

theme.waveforms: absolute

You can also disable waveforms altogether, resulting in a more compact layout:

theme.waveforms: disabled

With relative you can restore the default waveform behavior:

theme.waveforms: relative

title
Local-only This track setting can not inherit default values from other manifests

The track title is automatically derived from the audio file metadata (title tag) or filename of the track, however you can also override it with this option.

title: Is it Friday yet?

unlock_info
Default-able Use the prefixed form track.unlock_info outside of track manifests

In combination with the code setting of the download_access option (download.access: code) and download_codes option, this option lets you set the text that is displayed to your visitors when they are prompted for a download code. Usually you will want to put instructions in the text that tell your visitors how they can obtain a download code.

-- unlock_info
You should have received a download code in your confirmation mail
for this year's crowdfunding. Stay tuned in case you missed it,
we're currently planning the next run!
-- unlock_info

updated
Local-only This track setting can not inherit default values from other manifests

updated: 2024-12-19T16:39:57-08:00

A date/time specifying when this track was last updated on the faircamp site. This will be primarily used in your Atom/RSS feeds as metadata for feed consumers.

Also see these related settings:

  • published – Date/time when this track was first published on the faircamp site.
  • released – Date when this track was first released anywhere.

visibility
Default-able Use the prefixed form track.visibility outside of track manifests

visibility: featured

Controls the visibility level of this track (default: featured).

Available options:

  • featured (default) – The track is openly accessible, listed everywhere and included in the browse/search navigation
  • public – The track is openly accessible, listed everywhere, but excluded from the browse/search navigation
  • unlisted – The track is not publicly listed anywhere, visitors need to know and directly enter the URL to get to its page. If the track appears on a multitrack release it is additionally removed from the track list and also not included in download archives for that release.
  • offline – The track is entirely omitted when generating the site and does not appear anywhere on it