Frontend API
Renderer Helpers
CiderFrontAPI.*
AddMenuEntry(entry: CiderFrontAPI.Objects.MenuEntry)- Add an entry to the Cider menuStyleSheets- Add(href: string) - Load a
.lessstylesheet from a URL
- Add(href: string) - Load a
Registering a Vue component as a page
Registering a Vue component is done by adding plugin. to the front of the component name. Pages can then be loaded with app.appRoute("plugin/<component name without plugin.>")
Accessing static resources from the renderer
Additional resources in the plugins such as images and other files can be accessed with methods like fetch() from ./plugins/:packageName/:file this resolves to http://localhost:{port}/plugins/:packageName/:file
:packageName refers to the name property in package.json for the plugin.
Importing Custom Stylesheets
Example:
CiderFrontAPI.StyleSheets.Add("./plugins/:packageName/mystylesheet.less")
:packageName refers to the name property in package.json for the plugin.
CiderAudio
Note: CiderAudio requires Advanced Audio Functionality to be enabled in the app settings.
Cider features a custom audio stack, available in the renderer.
CiderAudio.context- Primary AudioContextCiderAudio.source- Audio Source
CiderAudio contains the following nodes:
CiderAudio.audioNodes.gainNode- Main gain nodeCiderAudio.audioNodes.spatialNode- Used by audio spatializationCiderAudio.audioNodes.audioBands- Used by EQCiderAudio.audioNodes.vibrantbassNode- Used to deliver vibrant bass functionalityCiderAudio.audioNodes.llpw- Used by Cider Adrenaline Processor (CAP)CiderAudio.audioNodes.analogWarmth- Used by Analog Warmth
audio.js explained
https://github.com/ciderapp/Cider/blob/develop/src/renderer/audio/audio.js
CiderAudio initializes with CiderAudio.hierarchical_loading() Inside the loading process, all audioNodes are cleared and re-initialized and chained based on what the user has enabled. The designed hierarchy for loading audio functions is as follows:
h1 item- AudioBand (final output)h2 item 1- AudioBands vibrantbass_h2_1() (vibrant bass node)h2 item 2- llpw_h2_2() (CiderAudio.audioNodes.llpw)h2 item 3- analogWarmth_h2_3() (CiderAudio.audioNodes.analogWarmth)- Spatial Node is always the last node in the chain