Cava Module (#662)

* First version of the cava module

* Update cava stuff

* Update themes for cava

* Update themes

* Handle cava visibility when null

* Add bar characters in options

---------

Co-authored-by: Ed Bennett <ed@dodimead.com>
Co-authored-by: Jas Singh <jaskiratpal.singh@outlook.com>
This commit is contained in:
Ed Bennett
2025-01-03 06:45:37 +00:00
committed by GitHub
parent a071e4c17d
commit 6efcd60467
56 changed files with 3065 additions and 2605 deletions

View File

@@ -354,6 +354,43 @@ export const CustomModuleSettings = (): JSX.Element => {
<Option opt={options.bar.customModules.hypridle.scrollUp} title="Scroll Up" type="string" />
<Option opt={options.bar.customModules.hypridle.scrollDown} title="Scroll Down" type="string" />
{/* Cava Section */}
<Header title="Cava" />
<Option
opt={options.theme.bar.buttons.modules.cava.enableBorder}
title="Button Border"
type="boolean"
/>
<Option opt={options.bar.customModules.cava.icon} title="Icon" type="string" />
<Option opt={options.bar.customModules.cava.showIcon} title="Show Icon" type="boolean" />
<Option opt={options.theme.bar.buttons.modules.cava.spacing} title="Spacing" type="string" />
<Option opt={options.bar.customModules.cava.barCharacters} title="Bar Characters" type="object" />
<Option opt={options.bar.customModules.cava.spaceCharacter} title="Bar Separator" type="string" />
<Option
opt={options.bar.customModules.cava.showActiveOnly}
title="Auto Hide"
subtitle="Hide if no media detected."
type="boolean"
/>
<Option opt={options.bar.customModules.cava.bars} title="Bars" type="number" />
<Option opt={options.bar.customModules.cava.channels} title="Channels" type="number" />
<Option opt={options.bar.customModules.cava.framerate} title="Framerate" type="number" />
<Option opt={options.bar.customModules.cava.samplerate} title="Sample Rate" type="number" />
<Option
opt={options.bar.customModules.cava.autoSensitivity}
title="Automatic Sensitivity"
type="boolean"
/>
<Option opt={options.bar.customModules.cava.lowCutoff} title="Low Cutoff" type="number" />
<Option opt={options.bar.customModules.cava.highCutoff} title="High Cutoff" type="number" />
<Option opt={options.bar.customModules.cava.noiseReduction} title="Noise Reduction" type="float" />
<Option opt={options.bar.customModules.cava.stereo} title="Stereo" type="boolean" />
<Option opt={options.bar.customModules.cava.leftClick} title="Left Click" type="string" />
<Option opt={options.bar.customModules.cava.rightClick} title="Right Click" type="string" />
<Option opt={options.bar.customModules.cava.middleClick} title="Middle Click" type="string" />
<Option opt={options.bar.customModules.cava.scrollUp} title="Scroll Up" type="string" />
<Option opt={options.bar.customModules.cava.scrollDown} title="Scroll Down" type="string" />
{/* Power Section */}
<Header title="Power" />
<Option

View File

@@ -193,6 +193,19 @@ export const CustomModuleTheme = (): JSX.Element => {
/>
<Option opt={options.theme.bar.buttons.modules.hypridle.border} title="Border" type="color" />
{/* Cava Module Section */}
<Header title="Cava" />
<Option opt={options.theme.bar.buttons.modules.cava.text} title="Bars" type="color" />
<Option opt={options.theme.bar.buttons.modules.cava.icon} title="Icon" type="color" />
<Option opt={options.theme.bar.buttons.modules.cava.background} title="Label Background" type="color" />
<Option
opt={options.theme.bar.buttons.modules.cava.icon_background}
title="Icon Background"
subtitle="Applies a background color to the icon section of the button.\nRequires 'split' button styling."
type="color"
/>
<Option opt={options.theme.bar.buttons.modules.cava.border} title="Border" type="color" />
{/* Power Module Section */}
<Header title="Power" />
<Option opt={options.theme.bar.buttons.modules.power.icon} title="Icon" type="color" />