From 01b490a3af5395009db8b662b1d01d404a1dc436 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Mon, 20 May 2024 15:39:31 -0400 Subject: [PATCH] Remove Stereo --- .../components/MicrophoneSettingsModal.tsx | 331 ------------- .../components/index.tsx | 19 - .../betterMicrophone.desktop/index.tsx | 47 -- .../betterMicrophone.desktop/logger/index.ts | 21 - .../betterMicrophone.desktop/modals/index.tsx | 42 -- .../patchers/index.ts | 19 - .../patchers/microphone.ts | 70 --- .../betterMicrophone.desktop/stores/index.ts | 19 - .../stores/microphoneStore.ts | 93 ---- .../components/AudioSourceSelect.tsx | 62 --- .../OpenScreenshareSettingsButton.tsx | 38 -- .../components/ScreenshareSettingsModal.tsx | 457 ------------------ .../components/index.tsx | 21 - .../betterScreenshare.desktop/index.tsx | 71 --- .../betterScreenshare.desktop/logger/index.ts | 22 - .../modals/index.tsx | 54 --- .../patchers/index.ts | 20 - .../patchers/screenshare.ts | 98 ---- .../patchers/screenshareAudio.ts | 84 ---- .../patches/index.ts | 19 - .../patches/screenshareModal.tsx | 97 ---- .../betterScreenshare.desktop/stores/index.ts | 20 - .../stores/screenshareAudioStore.ts | 40 -- .../stores/screenshareStore.ts | 121 ----- .../components/AuthorSummaryItem.tsx | 57 --- .../components/ContributorAuthorSummary.tsx | 53 -- .../components/buttons/CopyButton.tsx | 37 -- .../components/buttons/DeleteButton.tsx | 39 -- .../components/buttons/IconTooltipButton.tsx | 44 -- .../components/buttons/NewButton.tsx | 37 -- .../components/buttons/SaveButton.tsx | 38 -- .../components/buttons/index.tsx | 23 - .../philsPluginLibrary/components/index.tsx | 23 - .../settingsModal/SettingsModal.tsx | 77 --- .../settingsModal/SettingsModalCard.tsx | 83 ---- .../settingsModal/SettingsModalCardItem.tsx | 39 -- .../settingsModal/SettingsModalCardRow.tsx | 31 -- .../SettingsModalProfilesCard.tsx | 113 ----- .../components/settingsModal/index.tsx | 23 - .../settingsPanel/SettingsPanel.tsx | 35 -- .../settingsPanel/SettingsPanelButton.tsx | 40 -- .../settingsPanel/SettingsPanelRow.tsx | 37 -- .../SettingsPanelTooltipButton.tsx | 34 -- .../components/settingsPanel/index.tsx | 22 - .../discordModules/classes.ts | 25 - .../discordModules/components.tsx | 24 - .../discordModules/index.ts | 22 - .../discordModules/modules.ts | 25 - .../discordModules/stores.ts | 25 - .../philsPluginLibrary/emitter/emitter.ts | 86 ---- .../philsPluginLibrary/emitter/index.ts | 19 - .../philsPluginLibrary/icons/index.tsx | 142 ------ .../philsPluginLibrary/index.tsx | 46 -- .../philsPluginLibrary/patchers/index.ts | 19 - .../philsPluginLibrary/patchers/patcher.ts | 29 -- .../philsPluginLibrary/patches/audio.ts | 88 ---- .../philsPluginLibrary/patches/index.ts | 21 - .../philsPluginLibrary/patches/userPanel.tsx | 107 ---- .../philsPluginLibrary/patches/video.ts | 253 ---------- .../philsPluginLibrary/store/index.ts | 20 - .../philsPluginLibrary/store/profileable.ts | 85 ---- .../philsPluginLibrary/store/store.ts | 102 ---- .../philsPluginLibrary/styles/index.ts | 19 - .../philsPluginLibrary/styles/styles.ts | 25 - .../philsPluginLibrary/types/common/index.ts | 46 -- .../types/constants/index.ts | 31 -- .../types/discordModules/classes/index.ts | 19 - .../discordModules/classes/panelClasses.ts | 53 -- .../types/discordModules/components/index.ts | 19 - .../components/userSummaryItem.ts | 35 -- .../types/discordModules/index.ts | 22 - .../types/discordModules/modules/conn.ts | 56 --- .../discordModules/modules/connection.ts | 387 --------------- .../modules/framerateReducer.ts | 36 -- .../types/discordModules/modules/index.ts | 24 - .../discordModules/modules/mediaEngine.ts | 148 ------ .../types/discordModules/modules/utils.ts | 103 ---- .../modules/videoQualityManager.ts | 81 ---- .../types/discordModules/stores/index.ts | 19 - .../discordModules/stores/mediaEngineStore.ts | 119 ----- .../philsPluginLibrary/types/index.ts | 21 - .../philsPluginLibrary/utils/index.ts | 19 - .../philsPluginLibrary/utils/utils.ts | 27 -- 83 files changed, 5217 deletions(-) delete mode 100644 src/equicordplugins/betterMicrophone.desktop/components/MicrophoneSettingsModal.tsx delete mode 100644 src/equicordplugins/betterMicrophone.desktop/components/index.tsx delete mode 100644 src/equicordplugins/betterMicrophone.desktop/index.tsx delete mode 100644 src/equicordplugins/betterMicrophone.desktop/logger/index.ts delete mode 100644 src/equicordplugins/betterMicrophone.desktop/modals/index.tsx delete mode 100644 src/equicordplugins/betterMicrophone.desktop/patchers/index.ts delete mode 100644 src/equicordplugins/betterMicrophone.desktop/patchers/microphone.ts delete mode 100644 src/equicordplugins/betterMicrophone.desktop/stores/index.ts delete mode 100644 src/equicordplugins/betterMicrophone.desktop/stores/microphoneStore.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/components/AudioSourceSelect.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/components/OpenScreenshareSettingsButton.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/components/ScreenshareSettingsModal.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/components/index.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/index.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/logger/index.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/modals/index.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/patchers/index.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/patchers/screenshare.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/patchers/screenshareAudio.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/patches/index.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/patches/screenshareModal.tsx delete mode 100644 src/equicordplugins/betterScreenshare.desktop/stores/index.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/stores/screenshareAudioStore.ts delete mode 100644 src/equicordplugins/betterScreenshare.desktop/stores/screenshareStore.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/components/AuthorSummaryItem.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/ContributorAuthorSummary.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/buttons/CopyButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/buttons/DeleteButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/buttons/IconTooltipButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/buttons/NewButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/buttons/SaveButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/buttons/index.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/index.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsModal/SettingsModal.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsModal/SettingsModalCard.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsModal/SettingsModalCardItem.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsModal/SettingsModalCardRow.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsModal/SettingsModalProfilesCard.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsModal/index.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsPanel/SettingsPanel.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsPanel/SettingsPanelButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsPanel/SettingsPanelRow.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsPanel/SettingsPanelTooltipButton.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/components/settingsPanel/index.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/discordModules/classes.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/discordModules/components.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/discordModules/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/discordModules/modules.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/discordModules/stores.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/emitter/emitter.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/emitter/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/icons/index.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/index.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/patchers/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/patchers/patcher.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/patches/audio.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/patches/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/patches/userPanel.tsx delete mode 100644 src/equicordplugins/philsPluginLibrary/patches/video.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/store/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/store/profileable.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/store/store.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/styles/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/styles/styles.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/common/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/constants/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/classes/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/classes/panelClasses.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/components/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/components/userSummaryItem.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/conn.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/connection.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/framerateReducer.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/mediaEngine.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/utils.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/modules/videoQualityManager.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/stores/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/discordModules/stores/mediaEngineStore.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/types/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/utils/index.ts delete mode 100644 src/equicordplugins/philsPluginLibrary/utils/utils.ts diff --git a/src/equicordplugins/betterMicrophone.desktop/components/MicrophoneSettingsModal.tsx b/src/equicordplugins/betterMicrophone.desktop/components/MicrophoneSettingsModal.tsx deleted file mode 100644 index b031fc0d..00000000 --- a/src/equicordplugins/betterMicrophone.desktop/components/MicrophoneSettingsModal.tsx +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2023 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -import { Flex } from "@components/Flex"; -import { Switch } from "@components/Switch"; -import { ModalSize } from "@utils/modal"; -import { Card, Forms, Select, Slider, TextInput, useEffect, useState } from "@webpack/common"; -import { SelectOption } from "@webpack/types"; - -import { - ProfilableStore, - SettingsModal, - SettingsModalCard, - SettingsModalCardItem, - SettingsModalCardRow, - SettingsModalProfilesCard, - validateNumberInput, - validateTextInputNumber -} from "../../philsPluginLibrary"; -import { Styles } from "../../philsPluginLibrary/styles"; -import { MicrophoneProfile, MicrophoneStore } from "../stores"; - -const simpleVoiceBitrates: readonly SelectOption[] = [ - { - label: "Normal", - value: 96 - }, - { - label: "Medium-High", - value: 160 - }, - { - label: "High", - value: 320 - }, - { - label: "Very-High", - value: 512 - } -] as const; - -export interface MicrophoneSettingsModalProps extends React.ComponentProps { - microphoneStore: ProfilableStore; - showInfo?: boolean; -} - -export const MicrophoneSettingsModal = (props: MicrophoneSettingsModalProps) => { - const { microphoneStore, showInfo } = props; - - const { - currentProfile, - simpleMode, - setSimpleMode, - deleteProfile, - duplicateProfile, - getCurrentProfile, - getDefaultProfiles, - getProfile, - getProfiles, - isCurrentProfileADefaultProfile, - profiles, - saveProfile, - setChannels, - setChannelsEnabled, - setCurrentProfile, - setFreq, - setFreqEnabled, - setPacsize, - setPacsizeEnabled, - setRate, - setRateEnabled, - setVoiceBitrate, - setVoiceBitrateEnabled - } = microphoneStore.use(); - - const { - name, - channels, - channelsEnabled, - freq, - freqEnabled, - pacsize, - pacsizeEnabled, - rate, - rateEnabled, - voiceBitrate, - voiceBitrateEnabled - } = currentProfile; - - const [isSaving, setIsSaving] = useState(false); - - const [rateInput, setRateInput] = useState(rate ? rate.toString() : ""); - const [freqInput, setFreqInput] = useState(freq ? freq.toString() : ""); - const [pacsizeInput, setPacsizeInput] = useState(pacsize ? pacsize.toString() : ""); - const [channelsInput, setChannelsInput] = useState(channels ? channels.toString() : ""); - - useEffect(() => { - setRateInput(rate ? rate.toString() : ""); - setFreqInput(freq ? freq.toString() : ""); - setPacsizeInput(pacsize ? pacsize.toString() : ""); - setChannelsInput(channels ? channels.toString() : ""); - }, [rate, freq, pacsize, channels]); - - const simpleToggle = - - Simple - setSimpleMode(checked)} /> - ; - - const settingsCardVoiceBitrateSimple = - setVoiceBitrateEnabled(status) - }}> - - ({ - label: name, - value: id - }))} - isSelected={value => audioSource === value} - select={value => setAudioSource(value)} - serialize={() => ""} - {...props} - > - ); -}; diff --git a/src/equicordplugins/betterScreenshare.desktop/components/OpenScreenshareSettingsButton.tsx b/src/equicordplugins/betterScreenshare.desktop/components/OpenScreenshareSettingsButton.tsx deleted file mode 100644 index d12493a9..00000000 --- a/src/equicordplugins/betterScreenshare.desktop/components/OpenScreenshareSettingsButton.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2023 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -import { Button } from "@webpack/common"; -import React from "react"; - -import { openScreenshareModal } from "../modals"; - -export interface OpenScreenshareSettingsButtonProps { - title?: string; -} - -export const OpenScreenshareSettingsButton = (props: OpenScreenshareSettingsButtonProps) => { - return ( - - ); -}; diff --git a/src/equicordplugins/betterScreenshare.desktop/components/ScreenshareSettingsModal.tsx b/src/equicordplugins/betterScreenshare.desktop/components/ScreenshareSettingsModal.tsx deleted file mode 100644 index fe643469..00000000 --- a/src/equicordplugins/betterScreenshare.desktop/components/ScreenshareSettingsModal.tsx +++ /dev/null @@ -1,457 +0,0 @@ -/* - * Vencord, a modification for Discord's desktop app - * Copyright (c) 2023 Vendicated and contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . -*/ - -import { Flex } from "@components/Flex"; -import { Switch } from "@components/Switch"; -import { ModalSize, openModalLazy } from "@utils/modal"; -import { Button, Forms, React, Select, Slider, TextInput, useEffect, useState } from "@webpack/common"; -import { SelectOption } from "@webpack/types"; - -import { MicrophoneSettingsModal } from "../../betterMicrophone.desktop/components"; -import { - MediaEngineStore, - ProfilableStore, - SettingsModal, - SettingsModalCard, - SettingsModalCardItem, - SettingsModalCardRow, - SettingsModalProfilesCard, - types, - validateNumberInput, - validateTextInputNumber -} from "../../philsPluginLibrary"; -import { ScreenshareAudioProfile, ScreenshareAudioStore, ScreenshareProfile, ScreenshareStore } from "../stores"; - -const simpleResolutions: readonly (SelectOption & { value: types.Resolution; })[] = [ - { - label: "480p", - value: { - height: 480, - width: 720 - } - }, - { - label: "720p", - value: { - height: 720, - width: 1280 - } - }, - { - label: "1080p", - value: { - height: 1080, - width: 1920 - } - }, - { - label: "1440p", - value: { - height: 1440, - width: 2560 - } - }, - { - label: "2160p", - value: { - height: 2160, - width: 3840 - } - } -] as const; - -const simpleVideoBitrates: readonly SelectOption[] = [ - { - label: "Low", - value: 2500 - }, - { - label: "Medium", - value: 5000 - }, - { - label: "Medium-High", - value: 7500 - }, - { - label: "High", - value: 10000 - } -] as const; - -export interface ScreenshareSettingsModalProps extends React.ComponentProps { - screenshareStore: ProfilableStore; - screenshareAudioStore?: ProfilableStore; - onAudioDone?: () => void; -} - -export const ScreenshareSettingsModal = (props: ScreenshareSettingsModalProps) => { - const { screenshareStore, screenshareAudioStore, onAudioDone } = props; - - const { - currentProfile, - profiles, - simpleMode, - setVideoBitrateEnabled, - setVideoCodec, - setVideoCodecEnabled, - setFramerate, - setFramerateEnabled, - setHeight, - setKeyframeInterval, - setKeyframeIntervalEnabled, - setResolutionEnabled, - setVideoBitrate, - setWidth, - setCurrentProfile, - getProfile, - saveProfile, - setHdrEnabled, - setSimpleMode, - deleteProfile, - duplicateProfile, - getCurrentProfile, - getProfiles - } = screenshareStore.use(); - - - const { - name, - framerate, - framerateEnabled, - height, - keyframeInterval, - keyframeIntervalEnabled, - resolutionEnabled, - videoBitrate, - videoBitrateEnabled, - videoCodec, - videoCodecEnabled, - width, - hdrEnabled - } = currentProfile; - - const [videoCodecs, setVideoCodecs] = useState([]); - - const [isSaving, setIsSaving] = useState(false); - - const [textinputWidth, setTextinputWidth] = useState(width ? width.toString() : ""); - const [textinputHeight, setTextinputHeight] = useState(height ? height.toString() : ""); - const [textinputFramerate, setTextinputFramerate] = useState(framerate ? framerate.toString() : ""); - const [textinputKeyframeInterval, setTextinputKeyframeInterval] = useState(keyframeInterval ? keyframeInterval.toString() : ""); - - useEffect(() => { - setTextinputWidth(width ? width.toString() : ""); - setTextinputHeight(height ? height.toString() : ""); - setTextinputFramerate(framerate ? framerate.toString() : ""); - setTextinputKeyframeInterval(keyframeInterval ? keyframeInterval.toString() : ""); - }, [width, height, framerate, keyframeInterval]); - - useEffect(() => { - (async () => { - const mediaEngine = MediaEngineStore.getMediaEngine(); - - const stringifiedCodecs: types.CodecCapabilities[] = JSON.parse( - await new Promise(res => mediaEngine.getCodecCapabilities(res)) - ); - - setVideoCodecs(stringifiedCodecs); - })(); - }, []); - - const settingsCardResolutionSimple = - setResolutionEnabled(status) - }}> - - void setVideoBitrate(value)} - isSelected={(value: number) => videoBitrate === value} - serialize={() => ""} /> - - ; - - const settingsCardResolution = - setResolutionEnabled(status), - disabled: isSaving - }}> - - validateTextInputNumber(value) && setTextinputWidth(value)} - onBlur={e => { - const result = validateNumberInput(e.target.value); - setWidth(result); - setTextinputWidth(result ? result.toString() : ""); - }} /> - - - validateTextInputNumber(value) && setTextinputHeight(value)} - onBlur={e => { - const result = validateNumberInput(e.target.value); - setHeight(result); - setTextinputHeight(result ? result.toString() : ""); - }} /> - - ; - - const settingsCardItemFramerate = - - validateTextInputNumber(value) && setTextinputFramerate(value)} - onBlur={e => { - const result = validateNumberInput(e.target.value); - setFramerate(result); - setTextinputFramerate(result ? result.toString() : ""); - }} /> - ; - - const settingsCardFramerateProps: React.ComponentProps = { - title: "Framerate", - switchEnabled: true, - switchProps: { - checked: framerateEnabled ?? false, - disabled: isSaving, - onChange: status => setFramerateEnabled(status) - } - }; - - const settingsCardFramerate = - - {settingsCardItemFramerate} - ; - - const settingsCardFramerateSimple = - - {settingsCardItemFramerate} - ; - - const settingsCardKeyframeInterval = - setKeyframeIntervalEnabled(status) - }}> - - validateTextInputNumber(value) && setTextinputKeyframeInterval(value)} - onBlur={e => { - const result = validateNumberInput(e.target.value); - setKeyframeInterval(result); - setTextinputKeyframeInterval(result ? result.toString() : ""); - }} /> - - ; - - const settingsCardVideoBitrate = - setVideoBitrateEnabled(status) - }}> - -
- setVideoBitrate(value)} - initialValue={videoBitrate || 500} - minValue={500} - maxValue={10000} - markers={[500, 10000]} - onValueRender={value => `${value.toFixed(0)}kb/s`} /> -
-
-
; - - const settingsCardAudioProps: React.ComponentProps = { - title: "Audio Settings" - }; - - const settingsCardItemAudio = - -