Guest User

Untitled

a guest
Jul 17th, 2023
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. async function getRows(url) {
  2. const response = await fetch(url);
  3. const data = await response.text();
  4. const rows = data.split('\n');
  5. return rows;
  6. }
  7. async function importMidiFromUrl(url) {
  8. const response = await fetch(url);
  9. const data = await response.blob();
  10. importMidiFile(data);
  11. }
  12. async function storeValues(values) {
  13. const dbName = "musenet";
  14. const storeName = "textareaValues";
  15. const dbVersion = 1;
  16.  
  17. const request = indexedDB.open(dbName, dbVersion);
  18.  
  19. request.onupgradeneeded = event => {
  20. const db = event.target.result;
  21. db.createObjectStore(storeName, { autoIncrement: true });
  22. };
  23.  
  24. return new Promise((resolve, reject) => {
  25. request.onsuccess = event => {
  26. const db = event.target.result;
  27. const transaction = db.transaction(storeName, "readwrite");
  28. const objectStore = transaction.objectStore(storeName);
  29.  
  30. for (const value of values) {
  31. objectStore.add(value);
  32. }
  33.  
  34. transaction.oncomplete = () => resolve();
  35. transaction.onerror = () => reject(transaction.error);
  36. };
  37.  
  38. request.onerror = () => reject(request.error);
  39. });
  40. }
  41.  
  42. function delay(ms) {
  43. return new Promise(resolve => setTimeout(resolve, ms));
  44. }
  45.  
  46. getRows('http://127.0.0.1:9002/names3.txt').then(async rows => {
  47. let storedValues = [];
  48.  
  49. // Create a progress bar
  50. let progressBar = document.createElement("progress");
  51. progressBar.max = rows.length;
  52. progressBar.value = 0;
  53. document.body.appendChild(progressBar);
  54.  
  55. for (let i = 0; i < rows.length; i++) {
  56. let fileName = rows[i];
  57. importMidiFromUrl('chunked-mdi/' + fileName);
  58. let textarea = document.querySelector("#inbox");
  59. storedValues.push(textarea.value);
  60.  
  61. // Update the progress bar
  62. progressBar.value++;
  63.  
  64. await delay(0.05); // wait for some time
  65. }
  66.  
  67. await storeValues(storedValues);
  68. });
Advertisement
Add Comment
Please, Sign In to add comment