playlist.html 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Sand Table Playlist</title>
  6. <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
  7. <link rel="stylesheet" href="../static/style.css">
  8. </head>
  9. <body>
  10. <h1>Manage and Run Playlists</h1>
  11. <div class="container">
  12. <!-- Section to build the playlist -->
  13. <div class="left-column">
  14. <div class="section">
  15. <h2>Create Playlist</h2>
  16. <p>Add .thr files to your playlist below.</p>
  17. <input type="text" id="search_pattern" placeholder="Search files..." oninput="searchPatternFiles()">
  18. <ul id="theta_rho_files"></ul>
  19. </br>
  20. <button onclick="addToPlaylist()">Add to Playlist</button>
  21. <ul id="playlist_files"></ul>
  22. </div>
  23. <div class="section">
  24. <h2>Preview</h2>
  25. <canvas id="patternPreviewCanvas" style="width: 100%; height: 100%;"></canvas>
  26. <p id="first_coordinate">First Coordinate: Not available</p>
  27. <p id="last_coordinate">Last Coordinate: Not available</p>
  28. </div>
  29. </div>
  30. <!-- Section to set parameters -->
  31. <div class="right-column">
  32. <div class="section">
  33. <h2>Pattern Files</h2>
  34. <label for="pause_time">Pause between patterns (min):</label>
  35. <input type="number" id="pause_time" value="0" step="1" min="0">
  36. <br><br>
  37. <label for="clear_pattern">Clear Pattern:</label>
  38. <select id="clear_pattern">
  39. <option value="no_clear">No Clear</option>
  40. <option value="clear_from_in">Clear from In</option>
  41. <option value="clear_from_out">Clear from Out</option>
  42. <option value="clear_sideway">Clear Sideway</option>
  43. <option value="random">Random</option>
  44. </select>
  45. <div class="button-group">
  46. <button onclick="runPlaylist()">Run Playlist</button>
  47. <button onclick="stopExecution()" class="delete-button">Stop</button>
  48. </div>
  49. </div>
  50. </div>
  51. <!-- Status/Log -->
  52. <div id="status_log">
  53. <h2>Playlist Status</h2>
  54. <!-- Messages will be appended here -->
  55. </div>
  56. </div>
  57. </body>
  58. </html>