Libraryless. Click here for Pure Java version (5138L/29K).
1 | sclass WaveSurfer {
|
2 | S randomID = randomIDForPageElement(); |
3 | S id = "wavesurfer-" + randomID; // id of container element |
4 | S containerSelector; |
5 | S varName = "waveSurfer_" + randomID; // name of variable for wavesurfer instance |
6 | new MapSO options; |
7 | S audioURL; |
8 | |
9 | S headStuff() {
|
10 | ret hscript("https://unpkg.com/wavesurfer.js");
|
11 | } |
12 | |
13 | S container() {
|
14 | ret emptydiv(+id); |
15 | } |
16 | |
17 | S js_init() {
|
18 | if (empty(containerSelector)) containerSelector = "#" + id; |
19 | options.put(container := containerSelector); |
20 | |
21 | ret jsDollarVars([[ |
22 | var $waveSurfer = WaveSurfer.create($options); |
23 | ]], +options, waveSurfer := JS(varName)); |
24 | } |
25 | |
26 | S js_loadAudio(S url) {
|
27 | ret jsDollarVars([[ |
28 | $waveSurfer.load($url); |
29 | ]], +url, waveSurfer := JS(varName)); |
30 | } |
31 | |
32 | S completeHTML(S audioURL) {
|
33 | ret linesLL( |
34 | headStuff(), |
35 | container(), |
36 | hjs(linesLL(js_init(), js_loadAudio(audioURL))) |
37 | ); |
38 | } |
39 | |
40 | S js_playPause() {
|
41 | ret jsDollarVars([[ |
42 | $waveSurfer.playPause(); |
43 | ]], waveSurfer := JS(varName)); |
44 | } |
45 | } |
download show line numbers debug dex old transpilations
Travelled to 3 computer(s): bhatertpkbcr, mowyntqkapby, mqqgnosmbjvj
No comments. add comment
| Snippet ID: | #1032543 |
| Snippet name: | WaveSurfer - wavesurfer.js (graphical HTML audio player) as JavaX classs |
| Eternal ID of this version: | #1032543/10 |
| Text MD5: | 3f0c3ebd16d9036176d4e73fc0ace1de |
| Transpilation MD5: | a800b8340dcf822fa09f6fb89c125eff |
| Author: | stefan |
| Category: | javax / html |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2021-09-22 15:36:59 |
| Source code size: | 1101 bytes / 45 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 386 / 569 |
| Version history: | 9 change(s) |
| Referenced in: | [show references] |