upload samples

This commit is contained in:
Jade Rowland 2023-12-03 23:33:04 -05:00
parent b374cdf47c
commit 61919a1b3e
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,35 @@
import React from 'react';
export default function FileUpload({ onUpload }) {
let fileUploadRef = React.createRef();
function mapFiles(soundFiles) {
const files = Array.from(soundFiles).map((soundFile) => {
const file = { name: soundFile.name, path: URL.createObjectURL(soundFile) };
return file;
});
onUpload(files);
}
return (
<>
<input
key="uploadREf"
ref={fileUploadRef}
id="audio_file"
type="file"
directory=""
webkitdirectory=""
multiple
accept="audio/*"
onChange={() => {
mapFiles(fileUploadRef.current.files);
}}
/>
<input
key="uploadUI"
className="screen-button-overlay"
type="button"
onMouseDown={() => fileUploadRef.current.click()}
/>
</>
);
}

View File

@ -10,6 +10,7 @@ import { useSettings, settingsMap, setActiveFooter, defaultSettings } from '../s
import { getAudioContext, soundMap } from '@strudel.cycles/webaudio';
import { useStore } from '@nanostores/react';
import { FilesTab } from './FilesTab';
import FileUpload from './FileUpload';
const TAURI = window.__TAURI__;
@ -424,6 +425,7 @@ function SettingsTab({ scheduler }) {
onChange={(fontFamily) => settingsMap.setKey('fontFamily', fontFamily)}
/>
</FormItem>
<FileUpload onUpload={(files) => console.log(files)} />
<FormItem label="Font Size">
<NumberSlider
value={fontSize}