vibe-editor 0.0.5 → 0.0.7

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.
@@ -0,0 +1,814 @@
1
+ @import '~bootstrap/dist/css/bootstrap.min.css';
2
+
3
+ @font-face {
4
+ font-family: "Bravura";
5
+ src: url('../fonts/bravura/svg/Bravura.svg#7377dd80c36b825ad2214a14c2421925') format('svg');
6
+ font-weight: normal;
7
+ font-style: normal;
8
+ }
9
+
10
+ @font-face {
11
+ font-family: "BravuraText";
12
+ src: url('../fonts/bravura/svg/BravuraText.svg#f678e10c1f5609a8428c245cc86aa255') format('svg');
13
+ font-weight: normal;
14
+ font-style: normal;}
15
+
16
+ .dropdown button{
17
+ height: 100%;
18
+ }
19
+
20
+ .vibe-container{
21
+ position: absolute;
22
+ width: 100%;
23
+ height: 100%;
24
+ background: white;
25
+ /* overflow: scroll; */
26
+ }
27
+
28
+ body.waiting * {
29
+ cursor: wait !important;
30
+ }
31
+ /*
32
+ .textmode * {
33
+ cursor: text;
34
+ } */
35
+
36
+
37
+ #scoreRects > :is(.notehead, .clef, .meterSig, .keySig, .rest, .harm, .manipulator, .slur, .tie, .tupletNum, .tupletBracket):hover{
38
+ cursor: pointer;
39
+ }
40
+
41
+ #scoreRects .notehead:hover{
42
+ cursor: ns-resize !important;
43
+ }
44
+
45
+ .clickmode{
46
+ cursor: crosshair
47
+ }
48
+
49
+ #vrvSVG{
50
+ top: 0px;
51
+ width: 100%;
52
+ height: auto;
53
+ position: absolute;
54
+ display: flex;
55
+ flex-direction: column;
56
+ }
57
+
58
+ /* .layer:not(.activeLayer) *{
59
+ fill: rgba(0, 0 , 0, 0.2)
60
+ } */
61
+
62
+ /* .layer:not(.activeLayer) :is(.rest, .mRest) > use{
63
+ fill: rgba(0, 0 , 0, 0.0)
64
+ } */
65
+
66
+ .page{
67
+ translate: 0 10%;
68
+ }
69
+
70
+ #vrvSVG .systemLine{
71
+ stroke: black;
72
+ stroke-dasharray: 10rem;
73
+ stroke-width: 1rem;
74
+ }
75
+
76
+ #interactionOverlay{
77
+ position: absolute;
78
+ top: 0px;
79
+ width: 100%;
80
+ z-index: 100;
81
+ }
82
+
83
+ /* This one is for Debugging.
84
+ Change fill-opacity and stroke-opacity to display boundsing boxes*/
85
+ .debug #scoreRects *, #scoreRects .moving{
86
+ stroke-width: 1px;
87
+ stroke: black;
88
+ fill: gray;
89
+ fill-opacity: 0.1;
90
+ stroke-opacity: 1;
91
+ }
92
+
93
+ /* .debug > div#svgContainer > svg#interactionOverlay{
94
+ stroke-width: 2px;
95
+ stroke: red;
96
+ stroke-opacity: 1;
97
+ stroke-dasharray: 10px;
98
+ } */
99
+
100
+ /* .debug #vrvSVG{
101
+ stroke-width: 2px;
102
+ stroke: blue;
103
+ stroke-opacity: 1;
104
+ stroke-dasharray: 2px;
105
+ } */
106
+
107
+ /* .debug .page{
108
+ stroke-width: 2px;
109
+ stroke: green;
110
+ stroke-opacity: 1;
111
+ stroke-dasharray: 5px;
112
+ } */
113
+
114
+ #scoreRects *{
115
+ stroke-width: 1px;
116
+ stroke: black;
117
+ fill: gray;
118
+ fill-opacity: 0;
119
+ stroke-opacity: 0;
120
+ }
121
+
122
+
123
+ text{
124
+ cursor: text;
125
+ }
126
+
127
+
128
+ /*
129
+ #svgContainer, .annotLinkedText, .annotLinkedText *{
130
+ white-space: pre;
131
+ }
132
+ */
133
+
134
+ #svgContainer{
135
+ position: relative;
136
+ height: 100%;
137
+ overflow: scroll;
138
+ }
139
+
140
+ .staff.lastEntered > .staffLine:first-of-type, .staff.lastEntered > .staffLine:last-of-type, .staff.lastEntered ~ .barLine{
141
+ filter: drop-shadow(5px 16px 15px black)
142
+ }
143
+
144
+ /* .note, .note *, .rest, .rest *, .staff, .measure, .manipulator, .slur, .tie *{
145
+ cursor: pointer !important;
146
+ } */
147
+
148
+ /*
149
+ * TOOLBAR
150
+ */
151
+
152
+ .verticalLine{
153
+ border-left: 1px solid black;
154
+ height: auto;
155
+ position: absolute;
156
+ }
157
+
158
+ #insertMode.empty{
159
+ background-image: url(../images/GUI/edit-solid.svg);
160
+ background-position-x: 10%;
161
+ }
162
+
163
+
164
+ #insertMode{
165
+ background-color: white;
166
+ color: black;
167
+ }
168
+
169
+ .smufl{
170
+ font-family: "BravuraText";
171
+ /* font-size: xx-large; */
172
+ font-size: 160%;
173
+ }
174
+
175
+ .harm *{
176
+ font-family: "BravuraText";
177
+ }
178
+
179
+ #playBtn{
180
+ background-image: url(../images/GUI/play-solid.svg);
181
+ background-size: 80%;
182
+ }
183
+
184
+ #pauseBtn{
185
+ background-image: url(../images/GUI/pause-solid.svg);
186
+ background-size: 80%;
187
+ }
188
+
189
+ #rewindBtn{
190
+ background-image: url(../images/GUI/backward-fast-solid.svg);
191
+ background-size: 80%;
192
+ }
193
+
194
+ #zoomInBtn{
195
+ background-image: url(../images/GUI/zoomin.svg);
196
+ background-size: 80%;
197
+ }
198
+
199
+ #zoomOutBtn{
200
+ background-image: url(../images/GUI/zoomout.svg);
201
+ background-size: 80%;
202
+ }
203
+
204
+ #tupletBtn{
205
+ background-image: url(../images/GUI/triplet.svg);
206
+ background-size: 80%;
207
+ color: rgba(0, 0, 0, 0.0)
208
+ }
209
+
210
+ .btn{
211
+ background-repeat: no-repeat;
212
+ background-position-x: center;
213
+ background-position-y: center;
214
+ outline: none;
215
+ font-family: Bravura;
216
+ font-size: larger;
217
+ }
218
+
219
+ .articulationGroup .btn{
220
+ font-size: larger;
221
+ }
222
+
223
+ .btn-group-md{
224
+ display: flex;
225
+ }
226
+
227
+ /* .btn:hover, .btn.selected {
228
+ filter: invert();
229
+ color: black;
230
+ background-color: white;
231
+ } */
232
+
233
+ .btn:hover{
234
+ background-color: lightgray;
235
+ color: #ffffff;
236
+
237
+ }
238
+
239
+ .btn.selected {
240
+ background-color: black;
241
+ color: #ffffff;
242
+
243
+ }
244
+
245
+ #btnToolbar{
246
+ top: 0px;
247
+ transition: 0.5s;
248
+ /*height: 5%;*/
249
+ }
250
+
251
+ #customToolbar :first-child{
252
+ margin-left: 0.25em;
253
+ }
254
+
255
+ #customToolbar{
256
+ box-shadow: 0px 1px 3px lightgray;
257
+ }
258
+
259
+ #btnToolbar{
260
+ box-shadow: inset 0px -3px 3px lightgray;
261
+ }
262
+
263
+ .dropdown-item.selected{
264
+ background-color: antiquewhite;
265
+ font-weight: bold;
266
+ }
267
+
268
+ .accordion-item, .accordion-header{
269
+ border-bottom-style: solid;
270
+ border-bottom-color: black;
271
+ border-bottom-width: 1.5px;
272
+ }
273
+
274
+ .accordion-button{
275
+ padding: 1.5rem 1.25rem !important;
276
+ }
277
+
278
+ #midiDeviceSelect{
279
+ width: 100%;
280
+ }
281
+
282
+ #toggleSidebar{
283
+ border-bottom-left-radius: 0;
284
+ border-top-left-radius: 0;
285
+ }
286
+
287
+ #toggleSidebar.closedSidebar{
288
+ background-image: url(../images/GUI/bars-solid.svg);
289
+ background-size: 80%;
290
+ }
291
+
292
+ #toggleSidebar.openSidebar{
293
+ background-image: url(../images/GUI/bars-solid.svg);
294
+ background-size: 80%;
295
+ }
296
+
297
+ #insertDropdownKM .hide{
298
+ display: none;
299
+ }
300
+
301
+ #insertToggleDiv{
302
+ display: none;
303
+ }
304
+
305
+ #fileSelectGroup{
306
+ align-self: flex-end;
307
+ margin-left: auto;
308
+ display:flex;
309
+ }
310
+
311
+ /* #midiSelectGroup{
312
+ align-self:baseline;
313
+ margin-left: auto;
314
+ display:flex
315
+ } */
316
+
317
+ #handlerGroup{
318
+ display: none
319
+ }
320
+
321
+ #importXML, #importAudioFile{
322
+ display: none;
323
+ }
324
+
325
+ #sidebarContainer{
326
+ position: absolute;
327
+ left: 0;
328
+ top: 0;
329
+ height: 100%;
330
+ border-color: black;
331
+ border-style: solid;
332
+ border-width: 1px;
333
+ background-color: white;
334
+ transition: 0.5s;
335
+ border-top-left-radius: 5px;
336
+ border-bottom-left-radius: 5px;
337
+ overflow: visible;
338
+ display: flex;
339
+ flex-direction: column;
340
+ }
341
+
342
+ #sidebarContainer a{
343
+ display: block;
344
+ padding-left: 10px;
345
+ }
346
+
347
+ /* #sidebarContainer *{
348
+ font-size: 10pt;
349
+ } */
350
+
351
+ #sidebarContainer.closedSidebar{
352
+ visibility: hidden;
353
+ width: 0
354
+ }
355
+
356
+ #sidebarContainer.openSidebar{
357
+ visibility: visible;
358
+ width: 10%;
359
+ }
360
+
361
+ #sidebarContainer.openSidebar ~ div {
362
+ margin-left: 10%;
363
+ width: 90%;
364
+ flex-wrap: wrap;
365
+ display: flex;
366
+ transition: 0.5s;
367
+ }
368
+
369
+ #sidebarContainer.closedSidebar ~ div{
370
+ margin-left: 0;
371
+ width: 100%;
372
+ transition: 0.5s;
373
+ }
374
+
375
+ #sidebarList{
376
+ position: relative;
377
+ overflow: scroll;
378
+ width: 100%;
379
+ resize: vertical;
380
+ }
381
+
382
+ .dropKey, .dropClef, .dropTime, .dropTempo{
383
+ fill: orange;
384
+ color: orange;
385
+ }
386
+
387
+ #timeDiv{
388
+ cursor:pointer !important;
389
+ }
390
+
391
+ #annotList{
392
+ width: 100%;
393
+ position: relative;
394
+ background-color: white;
395
+ border-top-color: black;
396
+ border-left-color: white;
397
+ border-right-color: white;
398
+ border-bottom-color: white;
399
+ border-style: double;
400
+ overflow: scroll;
401
+ order: 2;
402
+ resize: vertical;
403
+ }
404
+
405
+ #annotList > a{
406
+ white-space: pre-line;
407
+ overflow: unset;
408
+ }
409
+
410
+
411
+ .list-group{
412
+ display: block;
413
+ }
414
+
415
+ #btnToolbar{
416
+ display: flex;
417
+ }
418
+
419
+ .btn-toolbar:not(:empty){
420
+ border-top-color: rgba(0, 0, 0, 0);
421
+ border-right-color: rgba(0, 0, 0, 0);
422
+ border-left-color: rgba(0, 0, 0, 0);
423
+ border-bottom-color: black;
424
+ border-bottom-style: solid;
425
+ border-bottom-width: 3px;
426
+ }
427
+
428
+ .tabBtn{
429
+ border-bottom-color: rgba(0, 0, 0, 0.0);
430
+ border-bottom-left-radius: 0% !important;
431
+ border-bottom-right-radius: 0% !important;
432
+ margin-bottom: -3px;
433
+ }
434
+ [role="group"]{
435
+ margin-top: 3px;
436
+ margin-bottom: 3px;
437
+ }
438
+
439
+ #customToolbar [role="group"]{
440
+ margin-top: 1%;
441
+ margin-bottom: 1%;
442
+ }
443
+
444
+ [role="group"] button:first-of-type{
445
+ border-bottom-left-radius: .2rem;
446
+ border-top-left-radius: .2rem;
447
+ }
448
+
449
+ [role="group"] button:last-of-type{
450
+ border-bottom-right-radius: .2rem;
451
+ border-top-right-radius: .2rem;
452
+ }
453
+
454
+ .btn-group-md>.btn, .btn-sm{
455
+ border-radius: 0%;
456
+ }
457
+
458
+
459
+ /*
460
+ * ANNOTATIONS
461
+ */
462
+
463
+ /*
464
+ #annotationCanvas.back *{
465
+ opacity: 0.5;
466
+ }*/
467
+
468
+ /* #annotationCanvas.front *{
469
+ opacity: 1;
470
+ } */
471
+
472
+
473
+
474
+ .annotLinkedText .annotDiv{
475
+ /*background-color: rgba(255, 255, 153, 0.8);*/
476
+ background-color: rgba(0, 0, 0, 0.1);
477
+ border-radius: 0px 10px 10px 10px;
478
+ border-color: black;
479
+ border-style: solid;
480
+ border-width: 3px;
481
+ position: absolute;
482
+ }
483
+
484
+ .annotFO{
485
+ /* width: 100%;
486
+ height: 100%; */
487
+ width: 15%;
488
+ height: 10%;
489
+ }
490
+
491
+
492
+ .annotStaticText .annotFO div{
493
+ background-color: rgb(201, 167, 167);
494
+ border: 1px solid black;
495
+ }
496
+
497
+ .annotDiv{
498
+ height: 100%;
499
+ width: 100%;
500
+ }
501
+
502
+ .annotLine{
503
+ stroke-width: 2px;
504
+ stroke: lightskyblue;
505
+ stroke-dasharray: 2px;
506
+ }
507
+
508
+
509
+ .lineDragRect{
510
+ stroke-width: 1px;
511
+ stroke: black;
512
+ fill: wheat;
513
+ height: 10px;
514
+ width: 10px;
515
+ transform: translate(-5, -5);
516
+ }
517
+
518
+ .highlightAnnotation, .highlightChord{
519
+ /*fill-opacity: 0.1;
520
+ outline-style: dotted;
521
+ outline-width: 0.5px;
522
+ outline-color: black; */
523
+ filter: drop-shadow( 0px 0px 3em teal)
524
+ }
525
+
526
+ #playCursor{
527
+ stroke-width: 10px;
528
+ stroke: orangered;
529
+ }
530
+
531
+ .layer[n="1"] .highlighted{
532
+
533
+ filter: drop-shadow(30px 10px 4px rgb(255, 71, 255));
534
+ }
535
+
536
+ #phantomNote.l1{
537
+ fill: rgb(255, 71, 255)
538
+ }
539
+
540
+
541
+ .layer[n="2"] .highlighted{
542
+ filter: drop-shadow(30px 10px 4px green);
543
+ }
544
+
545
+ #phantomNote.l2{
546
+ fill: green;
547
+ }
548
+
549
+ .layer[n="3"] .highlighted{
550
+ filter: drop-shadow(30px 10px 4px blue);
551
+ }
552
+
553
+ #phantomNote.l3{
554
+ fill: blue;
555
+ }
556
+
557
+ .layer[n="4"] .highlighted{
558
+ filter: drop-shadow(30px 10px 4px orange);
559
+ }
560
+
561
+ #phantomNote.l4{
562
+ fill: orange;
563
+ }
564
+
565
+ .customAnnotShape{
566
+ fill: orange;
567
+ fill-opacity: 0.2;
568
+ outline-style: dotted;
569
+ outline-width: 0.5px;
570
+ outline-color: black;
571
+ }
572
+
573
+ .customAnnotShape.selected{
574
+ outline-style: dashed;
575
+ outline-color:cornflowerblue;
576
+ outline-width: 1;
577
+ }
578
+
579
+
580
+ .annotLinkedText.selected > .annotFO, .annotStaticText.selected > .annotFO{
581
+ border-color:cornflowerblue;
582
+ border-width: 1;
583
+ border-style: dashed;
584
+ }
585
+
586
+
587
+ [contentEditable=false]:empty:not(:focus):before{
588
+ content:attr(data-text);
589
+ color: lightgray;
590
+ }
591
+
592
+ g.currentlyPlaying *{
593
+ fill:red !important;
594
+ fill-opacity: 1;
595
+ }
596
+
597
+ #followerRect{
598
+ fill: red;
599
+ fill-opacity: 0.3;
600
+ outline-style: none;
601
+ }
602
+
603
+ .marked, .marked *{
604
+ /* fill: red !important; */
605
+ filter: invert() drop-shadow(0 0 1rem crimson);
606
+ }
607
+
608
+ .lastAdded{
609
+ fill:darkcyan
610
+ }
611
+
612
+ .playing{
613
+ fill: red
614
+ }
615
+
616
+ /* LABELS */
617
+
618
+ .labelDiv{
619
+ border: 2px solid black;
620
+ border-radius: 10px;
621
+ /* height: fit-content;
622
+ width: fit-content;
623
+ min-width: 50px; */
624
+ background-color: beige;
625
+ /* font-size: 40px;
626
+ font-family: 'Times New Roman', Times, serif; */
627
+ }
628
+
629
+ .labelFO{
630
+ font-size: 16pt;
631
+ font-family: 'Times New Roman', Times, serif;
632
+ text-align: center;
633
+ width: 10%;
634
+ height: 100%;
635
+ }
636
+
637
+ /* KEYMODE */
638
+
639
+ #keyModeSelectRect{
640
+ stroke: black;
641
+ stroke-opacity: 1;
642
+ stroke-width: 2px;
643
+ fill: lightskyblue;
644
+ fill-opacity: 0.4;
645
+ }
646
+
647
+ /* #manipulatorCanvas > #cursor{
648
+ display: none
649
+ } */
650
+
651
+ /* CLICK MODE */
652
+
653
+
654
+ /* #phantomNote{
655
+ transform: skew(-20deg);
656
+ } */
657
+
658
+
659
+ .phantomLine, .phantomMarker{
660
+ stroke-width: 2px;
661
+ stroke:black;
662
+ opacity: 0.5;
663
+ }
664
+
665
+
666
+ /*StatusBar*/
667
+
668
+ #statusBar{
669
+ position: absolute;
670
+ height: 5%;
671
+ width: 100%;
672
+ bottom: 0;
673
+ background-color: lightskyblue;
674
+ border-style: outset;
675
+ z-index: 100;
676
+ }
677
+
678
+
679
+ /*Score Manipulator*/
680
+
681
+ #manipulatorCanvas{
682
+ z-index: 101;
683
+ }
684
+
685
+ .signElement{
686
+ stroke: black;
687
+ stroke-width: 10%;
688
+ }
689
+
690
+ #measureAdder, #measureRemover{
691
+ height: 10%;
692
+ width: 10%;
693
+ }
694
+
695
+ #manipulationButton{
696
+ stroke:black;
697
+ stroke-width: 5%;
698
+ fill: antiquewhite;
699
+ }
700
+
701
+ .manipulator:hover *:not(.selected) , .manipulator.selected{
702
+ filter: invert();
703
+ cursor: pointer;
704
+ }
705
+
706
+ .voiceBtn.inactive rect{
707
+ fill: lightgray;
708
+ }
709
+
710
+ .voiceBtn.inactive text{
711
+ fill: gray;
712
+ }
713
+
714
+
715
+ .voiceBtn rect, .voiceBtn foreignObject{
716
+ stroke-width: 5%;
717
+ stroke: black;
718
+ width: 100%;
719
+ height: 100%;
720
+ fill: antiquewhite
721
+ }
722
+
723
+ rect.voiceBtn{
724
+ stroke: black;
725
+ fill: antiquewhite;
726
+ }
727
+
728
+ .voiceBtn foreignObject > div{
729
+ text-align: center;
730
+ position:relative;
731
+ top: -20%;
732
+ }
733
+
734
+ /* .voiceBtn text, .voiceBtn foreignObject > div{
735
+ font-size: 100%;
736
+ width: 100%;
737
+ height: 100%;
738
+ fill: black;
739
+ }
740
+
741
+
742
+
743
+ rect.voiceBtn + text{
744
+ font-size: 100%;
745
+ fill: black;
746
+ } */
747
+
748
+ .tooltip.show{
749
+ display:contents;
750
+ background: skyblue;
751
+ color: #643045;
752
+ font-weight: bold;
753
+ padding: 5px 10px;
754
+ font-size: 13px;
755
+ border-radius: 4px;
756
+ border-color: maroon;
757
+ display: block;
758
+ opacity: 1;
759
+ position: absolute;
760
+ }
761
+
762
+ /* .tooltip{
763
+ inset: !important;
764
+ } */
765
+
766
+ .tooltip.hide{
767
+ display: none
768
+ }
769
+
770
+ .overfillMark{
771
+ color:rgba(0, 0, 0, 0.5);
772
+ font-size: 12em;
773
+ font-weight: bolder;
774
+ z-index: 100;
775
+
776
+ }
777
+
778
+ /*Disable interaction*/
779
+
780
+ #ff_warning{
781
+ background: rgba(0, 0, 0, 0.25);
782
+ width: 100%;
783
+ margin: auto;
784
+ height: 100%;
785
+ text-align: center;
786
+ font-size: xx-large;
787
+ color:crimson;
788
+ text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
789
+ }
790
+
791
+ .hideUI{
792
+ display: none !important;
793
+ }
794
+
795
+ #pauseNote{
796
+ display: none;
797
+ }
798
+
799
+ #interactionOverlay, #vrvSVG > svg{
800
+ transform-origin: top left
801
+ }
802
+
803
+ .indexBase{
804
+ font-size: 0.7em;
805
+ }
806
+
807
+ foreignObject > [contenteditable]{
808
+ font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
809
+ font-size: 1em;
810
+ }
811
+
812
+ button{
813
+ box-shadow: none !important;
814
+ }