mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-27 05:28:41 +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 { getAudioContext, soundMap } from '@strudel.cycles/webaudio';
|
||||||
import { useStore } from '@nanostores/react';
|
import { useStore } from '@nanostores/react';
|
||||||
import { FilesTab } from './FilesTab';
|
import { FilesTab } from './FilesTab';
|
||||||
|
import FileUpload from './FileUpload';
|
||||||
|
|
||||||
const TAURI = window.__TAURI__;
|
const TAURI = window.__TAURI__;
|
||||||
|
|
||||||
@ -424,6 +425,7 @@ function SettingsTab({ scheduler }) {
|
|||||||
onChange={(fontFamily) => settingsMap.setKey('fontFamily', fontFamily)}
|
onChange={(fontFamily) => settingsMap.setKey('fontFamily', fontFamily)}
|
||||||
/>
|
/>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
|
<FileUpload onUpload={(files) => console.log(files)} />
|
||||||
<FormItem label="Font Size">
|
<FormItem label="Font Size">
|
||||||
<NumberSlider
|
<NumberSlider
|
||||||
value={fontSize}
|
value={fontSize}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user