lexgui 0.1.36 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -19
- package/build/components/audio.js +174 -0
- package/build/components/timeline.js +2958 -3260
- package/build/components/videoeditor.js +10 -2
- package/build/lexgui.css +117 -2
- package/build/lexgui.js +825 -257
- package/build/lexgui.module.js +794 -297
- package/changelog.md +32 -2
- package/demo.js +9 -2
- package/examples/timeline.html +33 -21
- package/package.json +1 -1
|
@@ -491,6 +491,7 @@ class VideoEditor {
|
|
|
491
491
|
await new Promise(r => setTimeout(r, 1000));
|
|
492
492
|
this.video.currentTime = 10000000 * Math.random();
|
|
493
493
|
}
|
|
494
|
+
this.video.currentTime = -1; // BUG: some videos will not play unless this line is present
|
|
494
495
|
this.video.currentTime = 0;
|
|
495
496
|
this.endTime = this.video.duration;
|
|
496
497
|
this.timebar.currentX = this._timeToX(0);
|
|
@@ -498,7 +499,10 @@ class VideoEditor {
|
|
|
498
499
|
this._setStartValue(this.timebar.startX);
|
|
499
500
|
this._setCurrentValue(this.timebar.currentX);
|
|
500
501
|
this.timebar.update(this.timebar.currentX);
|
|
501
|
-
|
|
502
|
+
|
|
503
|
+
if ( !this.requestId ){ // only have one update on flight
|
|
504
|
+
this._update();
|
|
505
|
+
}
|
|
502
506
|
this.controls = options.controls ?? true;
|
|
503
507
|
if(!this.controls) {
|
|
504
508
|
this.hideControls();
|
|
@@ -615,12 +619,16 @@ class VideoEditor {
|
|
|
615
619
|
this.controlsArea.hide();
|
|
616
620
|
}
|
|
617
621
|
|
|
618
|
-
|
|
622
|
+
stopUpdates(){
|
|
623
|
+
|
|
619
624
|
if(this.requestId) {
|
|
620
625
|
cancelAnimationFrame(this.requestId);
|
|
621
626
|
this.requestId = null;
|
|
622
627
|
}
|
|
628
|
+
}
|
|
623
629
|
|
|
630
|
+
delete ( ) {
|
|
631
|
+
this.stopUpdates();
|
|
624
632
|
delete this;
|
|
625
633
|
}
|
|
626
634
|
}
|
package/build/lexgui.css
CHANGED
|
@@ -776,6 +776,7 @@ body.noevents * {
|
|
|
776
776
|
margin-top: 0.3em;
|
|
777
777
|
margin-right: 0.7em;
|
|
778
778
|
color: var(--global-selected-light);
|
|
779
|
+
font-size: 11px;
|
|
779
780
|
}
|
|
780
781
|
|
|
781
782
|
.lextitle.link {
|
|
@@ -1282,6 +1283,17 @@ input[type=number] {
|
|
|
1282
1283
|
border: 2px solid var(--global-selected);
|
|
1283
1284
|
}
|
|
1284
1285
|
|
|
1286
|
+
.lexwidget .numberbox span {
|
|
1287
|
+
position: absolute;
|
|
1288
|
+
top: -2px;
|
|
1289
|
+
pointer-events: none;
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
.lexinputmeasure {
|
|
1293
|
+
font-family: var(--global-font);
|
|
1294
|
+
font-size: var(--global-font-size);
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1285
1297
|
.lexinputslider {
|
|
1286
1298
|
appearance: none;
|
|
1287
1299
|
-moz-appearance: none;
|
|
@@ -1339,6 +1351,40 @@ input[type="range"] {
|
|
|
1339
1351
|
right: 0.8em;
|
|
1340
1352
|
}
|
|
1341
1353
|
|
|
1354
|
+
.lexwidget .lexunit {
|
|
1355
|
+
-webkit-user-select: none; /* Safari 3.1+ */
|
|
1356
|
+
-moz-user-select: none; /* Firefox 2+ */
|
|
1357
|
+
-ms-user-select: none; /* IE 10+ */
|
|
1358
|
+
user-select: none; /* Standard syntax */
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
/* Size Widget */
|
|
1362
|
+
|
|
1363
|
+
.lexwidget .lexsizecross {
|
|
1364
|
+
color: var(--global-selected);
|
|
1365
|
+
font-weight: 800;
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
/* Pad Widget */
|
|
1369
|
+
|
|
1370
|
+
.lexwidget .lexpad {
|
|
1371
|
+
place-items: center;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
.lexwidget .lexpad .lexinnerpad {
|
|
1375
|
+
border-radius: 4px;
|
|
1376
|
+
background-color: var(--global-dark-background);
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1379
|
+
.lexwidget .lexpad .lexinnerpad .lexpadthumb {
|
|
1380
|
+
background-color: var(--global-selected-light);
|
|
1381
|
+
width: 10%;
|
|
1382
|
+
height: 10%;
|
|
1383
|
+
border-radius: 2px;
|
|
1384
|
+
transform: translate(0px, 0px);
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
|
|
1342
1388
|
/* Tabs Widget */
|
|
1343
1389
|
|
|
1344
1390
|
.lextabscontainer {
|
|
@@ -2090,7 +2136,7 @@ meter::-webkit-meter-even-less-good-value {
|
|
|
2090
2136
|
}
|
|
2091
2137
|
|
|
2092
2138
|
.lexoverlaybuttons .lexbutton {
|
|
2093
|
-
padding:
|
|
2139
|
+
padding: 16px 12px;
|
|
2094
2140
|
font-size: var(--global-font-size-big);
|
|
2095
2141
|
border-radius: 10px;
|
|
2096
2142
|
justify-content: center;
|
|
@@ -2146,7 +2192,6 @@ meter::-webkit-meter-even-less-good-value {
|
|
|
2146
2192
|
background: none;
|
|
2147
2193
|
-webkit-backdrop-filter: none;
|
|
2148
2194
|
backdrop-filter: none;
|
|
2149
|
-
aspect-ratio: 1;
|
|
2150
2195
|
}
|
|
2151
2196
|
|
|
2152
2197
|
.lexoverlaybuttons.vertical .lexoverlaygroup {
|
|
@@ -2502,6 +2547,76 @@ meter::-webkit-meter-even-less-good-value {
|
|
|
2502
2547
|
width: 95%;
|
|
2503
2548
|
}
|
|
2504
2549
|
|
|
2550
|
+
/* Knob Widget */
|
|
2551
|
+
|
|
2552
|
+
.lexknob {
|
|
2553
|
+
padding: 8px;
|
|
2554
|
+
}
|
|
2555
|
+
|
|
2556
|
+
.lexknob .knobcircle {
|
|
2557
|
+
background: rgb(62,62,62);
|
|
2558
|
+
background: linear-gradient(180deg, rgba(82,82,82,1) 0%, rgba(40,40,40,1) 100%);
|
|
2559
|
+
width: 64px;
|
|
2560
|
+
height: 64px;
|
|
2561
|
+
margin: 0 auto;
|
|
2562
|
+
border-radius: 50%;
|
|
2563
|
+
position: relative;
|
|
2564
|
+
box-shadow: 0px 3px 9px 2px #121212a9;
|
|
2565
|
+
}
|
|
2566
|
+
|
|
2567
|
+
.lexknob.sm .knobcircle {
|
|
2568
|
+
width: 48px;
|
|
2569
|
+
height: 48px;
|
|
2570
|
+
}
|
|
2571
|
+
|
|
2572
|
+
.lexknob.bg .knobcircle {
|
|
2573
|
+
width: 81px;
|
|
2574
|
+
height: 81px;
|
|
2575
|
+
}
|
|
2576
|
+
|
|
2577
|
+
.lexknob .innerknobcircle {
|
|
2578
|
+
background-color:rgba(62,62,62,1);
|
|
2579
|
+
width: 56px;
|
|
2580
|
+
height: 56px;
|
|
2581
|
+
border-radius: 50%;
|
|
2582
|
+
margin: 0;
|
|
2583
|
+
position: absolute;
|
|
2584
|
+
top: 50%;
|
|
2585
|
+
left: 50%;
|
|
2586
|
+
translate: -50% -50%;
|
|
2587
|
+
}
|
|
2588
|
+
|
|
2589
|
+
.lexknob.sm .innerknobcircle {
|
|
2590
|
+
width: 39px;
|
|
2591
|
+
height: 39px;
|
|
2592
|
+
}
|
|
2593
|
+
|
|
2594
|
+
.lexknob.bg .innerknobcircle {
|
|
2595
|
+
width: 73px;
|
|
2596
|
+
height: 73px;
|
|
2597
|
+
}
|
|
2598
|
+
|
|
2599
|
+
.lexknob .knobmarker {
|
|
2600
|
+
background-color: var(--global-selected);
|
|
2601
|
+
filter: brightness(1.5);
|
|
2602
|
+
width: 6px;
|
|
2603
|
+
height: 6px;
|
|
2604
|
+
border-radius: 50%;
|
|
2605
|
+
margin: 0 auto;
|
|
2606
|
+
margin-top: 6px;
|
|
2607
|
+
}
|
|
2608
|
+
|
|
2609
|
+
.lexknob.sm .knobmarker {
|
|
2610
|
+
width: 5px;
|
|
2611
|
+
height: 5px;
|
|
2612
|
+
}
|
|
2613
|
+
|
|
2614
|
+
.lexknob.bg .knobmarker {
|
|
2615
|
+
width: 7px;
|
|
2616
|
+
height: 7px;
|
|
2617
|
+
margin-top: 8px;
|
|
2618
|
+
}
|
|
2619
|
+
|
|
2505
2620
|
/** Timeline */
|
|
2506
2621
|
|
|
2507
2622
|
.lextimeline {
|