mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-13 06:38:31 +00:00
upload samples
This commit is contained in:
parent
b374cdf47c
commit
61919a1b3e
35
website/src/repl/FileUpload.jsx
Normal file
35
website/src/repl/FileUpload.jsx
Normal 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()}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@ -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}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user