Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async function getRows(url) {
- const response = await fetch(url);
- const data = await response.text();
- const rows = data.split('\n');
- return rows;
- }
- async function importMidiFromUrl(url) {
- const response = await fetch(url);
- const data = await response.blob();
- importMidiFile(data);
- }
- async function storeValues(values) {
- const dbName = "musenet";
- const storeName = "textareaValues";
- const dbVersion = 1;
- const request = indexedDB.open(dbName, dbVersion);
- request.onupgradeneeded = event => {
- const db = event.target.result;
- db.createObjectStore(storeName, { autoIncrement: true });
- };
- return new Promise((resolve, reject) => {
- request.onsuccess = event => {
- const db = event.target.result;
- const transaction = db.transaction(storeName, "readwrite");
- const objectStore = transaction.objectStore(storeName);
- for (const value of values) {
- objectStore.add(value);
- }
- transaction.oncomplete = () => resolve();
- transaction.onerror = () => reject(transaction.error);
- };
- request.onerror = () => reject(request.error);
- });
- }
- function delay(ms) {
- return new Promise(resolve => setTimeout(resolve, ms));
- }
- getRows('http://127.0.0.1:9002/names3.txt').then(async rows => {
- let storedValues = [];
- // Create a progress bar
- let progressBar = document.createElement("progress");
- progressBar.max = rows.length;
- progressBar.value = 0;
- document.body.appendChild(progressBar);
- for (let i = 0; i < rows.length; i++) {
- let fileName = rows[i];
- importMidiFromUrl('chunked-mdi/' + fileName);
- let textarea = document.querySelector("#inbox");
- storedValues.push(textarea.value);
- // Update the progress bar
- progressBar.value++;
- await delay(0.05); // wait for some time
- }
- await storeValues(storedValues);
- });
Advertisement
Add Comment
Please, Sign In to add comment