From 1195b4488ad9a4cf6f91b0b3fa629ed463a84957 Mon Sep 17 00:00:00 2001
From: Victor
Date: Wed, 14 Feb 2024 23:52:29 -0800
Subject: [PATCH 01/14] added multiple file types on entity input, fixed
uploaded media not enqueueing on Engine Compositor
---
.../src/components/common/index.tsx | 2 +
.../entities/EntityInput/EntityInput.tsx | 97 +++++--------------
.../entities/EntityInput/EntityInputEmpty.tsx | 67 +++++++++++++
.../src/components/entities/EntityTypes.tsx | 19 +++-
.../entities/MediaList/MediaList.tsx | 2 +-
.../modals/MediaBrowser/MediaBrowser.tsx | 69 ++++++-------
.../hooks/useListContent/useListContent.tsx | 1 +
.../EngineCompositor/EngineCompositor.tsx | 2 +-
.../view/pages/dev_upload/DevMediaInput.tsx | 19 +++-
9 files changed, 159 insertions(+), 119 deletions(-)
create mode 100644 packages/fakeyou.com/src/components/entities/EntityInput/EntityInputEmpty.tsx
diff --git a/packages/fakeyou.com/src/components/common/index.tsx b/packages/fakeyou.com/src/components/common/index.tsx
index 8bb37476b1..83cad62017 100644
--- a/packages/fakeyou.com/src/components/common/index.tsx
+++ b/packages/fakeyou.com/src/components/common/index.tsx
@@ -20,6 +20,7 @@ import MocapInput from "./MocapInput";
import Modal from "./Modal";
import NumberSlider from "./NumberSlider";
import NumberSliderV2 from "./NumberSliderV2";
+import Pagination from "./Pagination";
import Panel from "./Panel";
import Radio from "./Radio";
import SegmentButtons from "./SegmentButtons";
@@ -63,6 +64,7 @@ export {
Modal,
NumberSlider,
NumberSliderV2,
+ Pagination,
Panel,
Radio,
SegmentButtons,
diff --git a/packages/fakeyou.com/src/components/entities/EntityInput/EntityInput.tsx b/packages/fakeyou.com/src/components/entities/EntityInput/EntityInput.tsx
index 128d56b352..99e47b2d9a 100644
--- a/packages/fakeyou.com/src/components/entities/EntityInput/EntityInput.tsx
+++ b/packages/fakeyou.com/src/components/entities/EntityInput/EntityInput.tsx
@@ -3,45 +3,27 @@ import { useLocation } from "react-router-dom";
import { a, useTransition } from "@react-spring/web";
import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia";
import Iframe from "react-iframe";
-import { MediaBrowser } from "components/modals";
-import { FileWrapper, Label, Spinner } from "components/common";
-import { EntityType, MediaFilterProp, WeightFilterProp } from "components/entities/EntityTypes";
+import { Label, Spinner } from "components/common";
+import { AcceptTypes, EntityInputMode, EntityModeProp } from "components/entities/EntityTypes";
import { useFile, useMedia, useModal, useSession } from "hooks";
import { BucketConfig } from "@storyteller/components/src/api/BucketConfig";
-import { faDiagramSankey, faFile, faFileArrowUp, faGrid, faImage, faPersonWalking, faWaveform } from "@fortawesome/pro-solid-svg-icons";
-import { FontAwesomeIcon as Icon } from "@fortawesome/react-fontawesome";
import { UploadMedia, UploadMediaResponse } from "@storyteller/components/src/api/media_files/UploadMedia";
import { v4 as uuidv4 } from "uuid";
+import EntityInputEmpty from "./EntityInputEmpty";
import "./EntityInput.scss";
-// enum EntityInputMode {
-// Bookmarks = "bookmarks",
-// Media = "media",
-// Weights = "weights",
-// SearchWeights = "searchWeights",
-// }
-
interface Props {
+ accept?: AcceptTypes | AcceptTypes[],
aspectRatio?: "square" | "landscape" | "portrait",
- mediaType?: MediaFilterProp,
label?: string,
onChange?: any,
- type: string,
- weightType?: WeightFilterProp
+ type: EntityModeProp,
}
-interface SlideProps {
+export interface SlideProps {
media?: MediaFile
};
-interface EmptySlideProps extends SlideProps {
- entityType: EntityType,
- filterType: MediaFilterProp | WeightFilterProp,
- inputProps?: any,
- open: any,
- user: any
-};
-
interface AniProps {
animating: boolean,
className: string,
@@ -56,12 +38,12 @@ const MediaBusy = () => {
const MocapInputFull = ({ media }: SlideProps) => {
const bucketConfig = new BucketConfig();
- const bvhUrl = media?.public_bucket_path ? bucketConfig.getGcsUrl(media.public_bucket_path) : "";
+ const mediaUrl = media?.public_bucket_path ? bucketConfig.getGcsUrl(media.public_bucket_path) : "";
return <>
@@ -71,42 +53,6 @@ const MocapInputFull = ({ media }: SlideProps) => {
>;
};
-const MediaPickerEmpty = ({ entityType, filterType, open, inputProps, user, ...rest }: EmptySlideProps) => {
- const browserClick = () => open({
- component: MediaBrowser,
- props: { entityType, filterType, username: user?.username || "", ...rest }
- });
-
- const mediaIcons = () => {
- switch (filterType) {
- case "audio": return faWaveform;
- case "image": return faImage;
- case "bvh": return faPersonWalking;
- default: return faFile;
- }
- }
-
- return <>
-
-
- { entityType === EntityType.media &&
-
- <>
-
-
- Upload, click or drag here
- { filterType !== "all" && { filterType } files supported }
-
- >
- }
-
-
- Choose from your { ["","media","weights"][entityType] }
-
-
- >;
-}
-
const AniMod = ({ animating, className, isLeaving, render: Render, style, ...rest }: AniProps) =>
;
-export default function EntityInput({ aspectRatio = "square", label, onChange, mediaType, weightType, ...rest }: Props) {
- const entityType = mediaType ? EntityType.media : weightType ? EntityType.weights : EntityType.unknown;
- const filterType = mediaType || weightType || "all";
+export default function EntityInput({ accept: inAccept, aspectRatio = "square", label, onChange, type, ...rest }: Props) {
+ const accept = Array.isArray(inAccept) ? inAccept : [inAccept];
+ const inputMode = EntityInputMode[type];
const { search } = useLocation();
const presetToken = search ? new URLSearchParams(search).get("preset_token") : "";
const [mediaToken,mediaTokenSet] = useState(presetToken || "");
const { media, mediaSet } = useMedia({ mediaToken });
const { user } = useSession();
const { open } = useModal();
+
+ const selectToken = (token: string) => {
+ mediaTokenSet(token);
+ onChange({ target: { name: "temp", value: token } });
+ };
+
const { clear, inputProps } = useFile({
onChange: (inputFile: any) => {
if (inputFile) UploadMedia({
@@ -133,17 +85,17 @@ export default function EntityInput({ aspectRatio = "square", label, onChange, m
.then((res: UploadMediaResponse) => {
if ("media_file_token" in res) {
clear();
- mediaTokenSet(res.media_file_token);
+ selectToken(res.media_file_token);
}
});
else console.log("๐ฅบ no file");
}
});
const onSelect = (data: MediaFile) => {
- mediaSet(data)
- console.log("๐
",data);
- onChange({ target: { name: "temp", value: data.token } });
- }
+ mediaSet(data);
+ selectToken(data.token);
+ };
+
const busy = false;
const index = busy ? 0 : media ? 1 : 2;
const [animating,animatingSet] = useState(false);
@@ -157,12 +109,10 @@ export default function EntityInput({ aspectRatio = "square", label, onChange, m
onStart: () => animatingSet(true)
});
-
return <>
{
- // media ?
:
transitions((style: any, i: number, state: any) => {
let isLeaving = state.phase === "leave";
let sharedProps = { animating, isLeaving, media, style };
@@ -170,9 +120,8 @@ export default function EntityInput({ aspectRatio = "square", label, onChange, m
return [
,
,
-
+
][i];
-
})
}
diff --git a/packages/fakeyou.com/src/components/entities/EntityInput/EntityInputEmpty.tsx b/packages/fakeyou.com/src/components/entities/EntityInput/EntityInputEmpty.tsx
new file mode 100644
index 0000000000..ce401f7d4e
--- /dev/null
+++ b/packages/fakeyou.com/src/components/entities/EntityInput/EntityInputEmpty.tsx
@@ -0,0 +1,67 @@
+import React from "react";
+import { AcceptTypes, EntityInputMode, MediaFilters } from "components/entities/EntityTypes";
+import { SlideProps } from "./EntityInput";
+import { MediaBrowser } from "components/modals";
+import { FileWrapper } from "components/common";
+import { FontAwesomeIcon as Icon } from "@fortawesome/react-fontawesome";
+import {
+ faDiagramSankey,
+ faFile,
+ faFileArrowUp,
+ faGrid,
+ faImage,
+ faPersonWalking,
+ faWaveform
+ } from "@fortawesome/pro-solid-svg-icons";
+
+
+interface EmptySlideProps extends SlideProps {
+ accept?: AcceptTypes[],
+ inputMode: EntityInputMode,
+ inputProps?: any,
+ open: any,
+ user: any
+};
+
+const mediaCheck = (value: string) => (value in MediaFilters);
+
+export default function EntityInputEmpty({ accept, open, inputMode, inputProps, user, ...rest }: EmptySlideProps) {
+ const accepted = accept ? accept : [];
+ const isMedia = !!accepted.find(mediaCheck);
+ const browserClick = () => open({
+ component: MediaBrowser,
+ props: { accept, inputMode, username: user?.username || "", ...rest }
+ });
+
+ const mediaIcons = () => {
+ switch (accepted[0]) {
+ case "audio": return faWaveform;
+ case "image": return faImage;
+ case "bvh": return faPersonWalking;
+ default: return faFile;
+ }
+ };
+
+
+ const supported = `${ accepted.length ? accepted.join(", ") : accepted[0] } files supported`;
+
+ return <>
+
+
+ { isMedia &&
+
+ <>
+
+
+ Upload, click or drag here
+ { accept && { supported } }
+
+ >
+ }
+
+
+ Choose from your { ["bookmarks","media","weights"][inputMode] }
+
+
+ >;
+};
\ No newline at end of file
diff --git a/packages/fakeyou.com/src/components/entities/EntityTypes.tsx b/packages/fakeyou.com/src/components/entities/EntityTypes.tsx
index cb36434825..5e68cf7073 100644
--- a/packages/fakeyou.com/src/components/entities/EntityTypes.tsx
+++ b/packages/fakeyou.com/src/components/entities/EntityTypes.tsx
@@ -1,9 +1,17 @@
+export enum EntityInputMode {
+ bookmarks,
+ media,
+ weights,
+ searchWeights,
+}
+
export enum MediaFilters {
all,
audio,
image,
video,
bvh,
+ glb,
gltf,
fbx
}
@@ -21,8 +29,10 @@ export enum WeightsFilters {
vall_e
}
+export type EntityModeProp = keyof typeof EntityInputMode;
export type MediaFilterProp = keyof typeof MediaFilters;
export type WeightFilterProp = keyof typeof WeightsFilters;
+export type AcceptTypes = MediaFilterProp | WeightFilterProp;
export enum EntityType {
unknown,
@@ -30,12 +40,13 @@ export enum EntityType {
weights
}
-export const EntityFilterOptions = ( mode: EntityType, t = (v:string) => v) => {
- const filters = [{},MediaFilters,WeightsFilters][mode];
- return mode ? Object.values(filters)
+export const EntityFilterOptions = ( mode?: EntityInputMode, t = (v:string) => v) => {
+ const filters = mode !== undefined ? [{ ...MediaFilters, ...WeightsFilters },MediaFilters,WeightsFilters,WeightsFilters][mode] : EntityInputMode;
+
+ return Object.values(filters)
.filter(val => isNaN(Number(val)))
.map((value) => {
if (typeof value === "string") return { value, label: t(value) }
return { label: "all", value: "all" };
- }) : [];
+ });
};
\ No newline at end of file
diff --git a/packages/fakeyou.com/src/components/entities/MediaList/MediaList.tsx b/packages/fakeyou.com/src/components/entities/MediaList/MediaList.tsx
index 2a5522647f..8f27530666 100644
--- a/packages/fakeyou.com/src/components/entities/MediaList/MediaList.tsx
+++ b/packages/fakeyou.com/src/components/entities/MediaList/MediaList.tsx
@@ -24,7 +24,7 @@ const MediaCards = ({ props, type }: MediaCardsProps) => {
return ;
case "video":
return ;
- case "bvh":
+ case "bvh": case "glb": case "gltf":
return ;
default:
return Unsupported media type
;
diff --git a/packages/fakeyou.com/src/components/modals/MediaBrowser/MediaBrowser.tsx b/packages/fakeyou.com/src/components/modals/MediaBrowser/MediaBrowser.tsx
index fff6497302..c23fda4946 100644
--- a/packages/fakeyou.com/src/components/modals/MediaBrowser/MediaBrowser.tsx
+++ b/packages/fakeyou.com/src/components/modals/MediaBrowser/MediaBrowser.tsx
@@ -1,33 +1,27 @@
import React, { useState } from "react";
import { MediaList } from "components/entities";
-import {
- EntityType,
- EntityFilterOptions,
- MediaFilterProp,
- WeightFilterProp,
-} from "components/entities/EntityTypes";
-import { TempSelect } from "components/common";
+import { AcceptTypes, EntityInputMode, EntityFilterOptions, } from "components/entities/EntityTypes";
+import { Pagination, TempSelect } from "components/common";
import AudioPlayerProvider from "components/common/AudioPlayer/AudioPlayerContext";
import SkeletonCard from "components/common/Card/SkeletonCard";
-import Pagination from "components/common/Pagination";
+import { GetBookmarksByUser } from "@storyteller/components/src/api/bookmarks/GetBookmarksByUser";
import { GetMediaByUser } from "@storyteller/components/src/api/media_files/GetMediaByUser";
import { GetWeightsByUser } from "@storyteller/components/src/api/weights/GetWeightsByUser";
import { SearchWeights } from "@storyteller/components/src/api/weights/SearchWeights";
import { MediaFile } from "@storyteller/components/src/api/media_files/GetMedia";
import { Weight } from "@storyteller/components/src/api/weights/GetWeight";
-import { useListContent, useRatings } from "hooks";
-import {
- faArrowDownWideShort,
- faFilter,
-} from "@fortawesome/pro-solid-svg-icons";
+import { useListContent,
+ // useRatings
+} from "hooks";
+import { faArrowDownWideShort, faFilter } from "@fortawesome/pro-solid-svg-icons";
import prepFilter from "resources/prepFilter";
import ModalHeader from "../ModalHeader";
import "./MediaBrowser.scss";
interface Props {
- entityType: EntityType;
- filterType?: MediaFilterProp | WeightFilterProp;
+ accept?: AcceptTypes[],
handleClose: any;
+ inputMode: EntityInputMode;
mediaToken: string;
onSelect?: any;
owner?: string;
@@ -36,30 +30,28 @@ interface Props {
}
export default function MediaBrowser({
- entityType,
- filterType: inputFilter,
+ accept,
mediaToken,
handleClose = () => {},
+ inputMode,
onSelect,
owner,
search,
- username,
+ username
}: Props) {
- const ratings = useRatings();
+ // const ratings = useRatings();
const [showMasonryGrid, setShowMasonryGrid] = useState(true);
- const [filterType, filterTypeSet] = useState(inputFilter || "all");
+ const [filterType, filterTypeSet] = useState(accept ? accept[0] : "all");
const [list, listSet] = useState([]);
- const fetcher = search
- ? SearchWeights
- : [() => {}, GetMediaByUser, GetWeightsByUser][entityType] ||
- GetMediaByUser;
+ const fetcher = [GetBookmarksByUser,GetMediaByUser,GetWeightsByUser,SearchWeights][inputMode];
+
const entities = useListContent({
debug: "media browser",
addQueries: {
...(search ? {} : { page_size: 24 }),
...prepFilter(
filterType,
- ["", "filter_media_type", "maybe_scoped_weight_type"][entityType]
+ ["maybe_scoped_weight_type", "filter_media_type", "maybe_scoped_weight_type",""][inputMode]
),
},
addSetters: { filterTypeSet },
@@ -69,12 +61,12 @@ export default function MediaBrowser({
onInputChange: () => setShowMasonryGrid(false),
onSuccess: res => {
// bookmarks.gather({ res, key: "token" });
- ratings.gather({ res, key: "token" });
+ // ratings.gather({ res, key: "token" });
setShowMasonryGrid(true);
},
...(search ? { request: { search_term: search } } : {}),
requestList: true,
- ...(search ? { resultsKey: "weights" } : {}),
+ // ...(search ? { resultsKey: "weights" } : {}),
urlParam: owner || username,
urlUpdate: false,
});
@@ -95,16 +87,25 @@ export default function MediaBrowser({
// { value: "mostliked", label: "Most Liked" },
];
- const title = ["", `${owner ? owner + "'s " : ""}Media`, "Weights"][
- entityType
- ];
+ const onwerTxt = (entityName: string) => `${ owner ? owner + "'s " : "" }${ entityName }`;
+
+ const title = [
+ onwerTxt("Bookmarks"),
+ onwerTxt("Media"),
+ onwerTxt("Weights"),
+ "Search"
+ ][inputMode];
const onClick = (data: any) => {
- console.log("๐ฉต", data);
onSelect(data);
handleClose();
};
+ const filterOptions = accept ? accept.map((value: string) => ({
+ value,
+ label: value
+ })) : EntityFilterOptions(inputMode);
+
return (
<>
@@ -117,11 +118,11 @@ export default function MediaBrowser({
value: entities.sort,
}}
/>
- {(!inputFilter || inputFilter === "all") && (
+ {(!accept || (accept && accept.length) ) && (
{
+ onInputChange();
pageSet(page);
statusSet(FetchStatus.ready);
};
diff --git a/packages/fakeyou.com/src/v2/view/pages/EngineCompositor/EngineCompositor.tsx b/packages/fakeyou.com/src/v2/view/pages/EngineCompositor/EngineCompositor.tsx
index 48266d87ef..3ca4c97261 100644
--- a/packages/fakeyou.com/src/v2/view/pages/EngineCompositor/EngineCompositor.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/EngineCompositor/EngineCompositor.tsx
@@ -60,11 +60,11 @@ export default function EngineCompositor({ value, sessionWrapper }: Props) {
diff --git a/packages/fakeyou.com/src/v2/view/pages/dev_upload/DevMediaInput.tsx b/packages/fakeyou.com/src/v2/view/pages/dev_upload/DevMediaInput.tsx
index a72c9f85b4..ba5a3c3666 100644
--- a/packages/fakeyou.com/src/v2/view/pages/dev_upload/DevMediaInput.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/dev_upload/DevMediaInput.tsx
@@ -1,7 +1,9 @@
import React, { useState } from "react";
import { EntityInput } from "components/entities";
import { EntityFilterOptions, EntityType, MediaFilterProp, WeightFilterProp } from "components/entities/EntityTypes";
-import { useModal } from "hooks";
+import { useModal,
+ // useSession
+} from "hooks";
import { InferenceJobsModal } from "components/modals";
import { Button, SegmentButtons, TempInput, TempSelect } from "components/common";
@@ -10,16 +12,19 @@ interface Props {
}
export default function DevMediaInput({ value }: Props) {
+ // const session = useSession();
+ // console.log("๐คฆ๐ปโโ๏ธ",session);
const [mediaToken,mediaTokenSet] = useState();
const [mediaType,mediaTypeSet] = useState("all");
const [weightType,weightTypeSet] = useState("all");
+ // const [mode,modeSet] = useState("media");
const [entityType,entityTypeSet] = useState(EntityType.media);
const [owner,ownerSet] = useState("");
const onChange = ({ target }: any) => mediaTokenSet(target.value);
const { open } = useModal();
- const options = [{ label: "Media", value: EntityType.media },{ label: "Weights", value: EntityType.weights }];
+ const options = EntityFilterOptions();
const changeFilter = ({ target }: { target: any }) => [mediaTypeSet,mediaTypeSet,weightTypeSet][entityType](target.value);
const openModal = () => open({ component: InferenceJobsModal });
@@ -30,16 +35,20 @@ export default function DevMediaInput({ value }: Props) {
{ [526,187].map((num = 0) => String.fromCodePoint(128000 + num)) }
entityTypeSet(target.value), options, value: entityType }}/>
ownerSet(target.value), placeholder: "User" }}/>
-
+
From 19bea41e742ac35e261602bc10fcdf41ef023151 Mon Sep 17 00:00:00 2001
From: BFlat
Date: Fri, 16 Feb 2024 00:10:25 +0700
Subject: [PATCH 02/14] audio text transcript
---
.../src/api/media_files/GetMediaFile.ts | 1 +
.../common/Card/AudioCard/AudioCard.tsx | 5 ++++
.../src/v2/view/pages/media/MediaPage.tsx | 28 ++++++++-----------
3 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/packages/components/src/api/media_files/GetMediaFile.ts b/packages/components/src/api/media_files/GetMediaFile.ts
index 39f42bc1c7..1e87adf051 100644
--- a/packages/components/src/api/media_files/GetMediaFile.ts
+++ b/packages/components/src/api/media_files/GetMediaFile.ts
@@ -21,6 +21,7 @@ export interface MediaFile {
maybe_weight_creator: UserDetailsLight;
maybe_cover_image_public_bucket_path: string;
};
+ maybe_text_transcript?: string;
}
export enum MediaFileLookupError {
diff --git a/packages/fakeyou.com/src/components/common/Card/AudioCard/AudioCard.tsx b/packages/fakeyou.com/src/components/common/Card/AudioCard/AudioCard.tsx
index dfcf6fe4bb..40a411072d 100644
--- a/packages/fakeyou.com/src/components/common/Card/AudioCard/AudioCard.tsx
+++ b/packages/fakeyou.com/src/components/common/Card/AudioCard/AudioCard.tsx
@@ -111,6 +111,11 @@ export default function AudioCard({
: "Media Audio"}
{timeAgo}
+ {data.maybe_text_transcript && (
+
+ {data.maybe_text_transcript}
+
+ )}
{/* Show TTS text input if it is a TTS result */}
- {mediaFile.public_bucket_path.includes("tts_inference_output") && (
+ {mediaFile.maybe_text_transcript && (
- Audio Text
+ Audio Text Transcript
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
- do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Pellentesque elit ullamcorper dignissim cras tincidunt
- lobortis. Integer malesuada nunc vel risus commodo viverra
- maecenas accumsan lacus.
-
+
{mediaFile.maybe_text_transcript}
)}
@@ -401,14 +395,14 @@ export default function MediaPage() {
}}
/>
+ {...{
+ large: true,
+ ...bookmarks.makeProps({
+ entityToken: token,
+ entityType: "media_file",
+ }),
+ }}
+ />
From 7ed5e7d07f1345f669251fec22953c5f15930e07 Mon Sep 17 00:00:00 2001
From: BFlat
Date: Fri, 16 Feb 2024 00:34:33 +0700
Subject: [PATCH 03/14] batch generations outside of advanced
---
.../inference_panels/SdInferencePanel.tsx | 50 +++++++++----------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx b/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx
index 309b6ce077..88ebb394f8 100644
--- a/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx
@@ -377,11 +377,36 @@ function SdInferencePanel({
value: aspectRatio,
}}
/>
+
+
@@ -402,15 +427,6 @@ function SdInferencePanel({
/>
-
)}
-
{" "}
From a7905040412ca9a8882d37c4035595e3ed6172d3 Mon Sep 17 00:00:00 2001
From: Victor
Date: Thu, 15 Feb 2024 10:01:20 -0800
Subject: [PATCH 04/14] glb/gltf call to actions on media page
---
packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx b/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
index 7b980e046a..aeb997d283 100644
--- a/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/media/MediaPage.tsx
@@ -444,11 +444,11 @@ export default function MediaPage() {
}}
/>
) : null}
- {mediaFile?.media_type === MediaFileType.BVH ? (
+ {mediaFile?.media_type === MediaFileType.BVH || mediaFile?.media_type === MediaFileType.GLTF || mediaFile?.media_type === MediaFileType.GLB ? (
)}
-
+
{timeAgo}
{timeAgo}
{timeAgo}
{timeAgo}
Date: Fri, 16 Feb 2024 17:08:50 -0500
Subject: [PATCH 14/14] StableDiffusion batch count -> 3 by default
---
.../view/pages/weight/inference_panels/SdInferencePanel.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx b/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx
index 88ebb394f8..61e247b956 100644
--- a/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx
+++ b/packages/fakeyou.com/src/v2/view/pages/weight/inference_panels/SdInferencePanel.tsx
@@ -82,7 +82,7 @@ function SdInferencePanel({
const [aspectRatio, setAspectRatio] = useState("square");
const [cfgScale, setCfgScale] = useState(7);
const [samples, setSamples] = useState(8);
- const [batchCount, setBatchCount] = useState(1);
+ const [batchCount, setBatchCount] = useState(3);
const [prompt, setPrompt] = useState("");
const [negativePrompt, setNegativePrompt] = useState("");
const onChange = onChanger({
@@ -104,7 +104,7 @@ function SdInferencePanel({
sampler: "DPM++ 2M Karras",
cfgScale: 7,
samples: 8,
- batchCount: 1,
+ batchCount: 3,
loraToken: null,
};