daydreamer-json
commited on
Commit
•
b32dc46
1
Parent(s):
d44e1e3
Update
Browse files- db/master.json +361 -1
- index.html +60 -54
- script.js +20 -7
db/master.json
CHANGED
@@ -114,6 +114,18 @@
|
|
114 |
"spotify": "1Ogp4yK6RFM50S1RKqU21b",
|
115 |
"youtube": "UCdGCfJqGjqmIOkpskWVz8Jw"
|
116 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
],
|
119 |
"codecs": [
|
@@ -143,7 +155,35 @@
|
|
143 |
"bitDepth": 24,
|
144 |
"sampleRate": 48000,
|
145 |
"channelCount": 2,
|
146 |
-
"encodeParams":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
},
|
148 |
{
|
149 |
"uuid": "018d2821-51f1-7203-bd3d-34ff786250f3",
|
@@ -159,6 +199,20 @@
|
|
159 |
"channelCount": 2,
|
160 |
"encodeParams": "qaac64 --tvbr 127 -q 2 --rate keep --no-delay --gapless-mode 0 --threading"
|
161 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
{
|
163 |
"uuid": "018d2821-51f2-75aa-856a-a02ff306eb55",
|
164 |
"nameBasic": "HE-AAC",
|
@@ -173,6 +227,20 @@
|
|
173 |
"channelCount": 2,
|
174 |
"encodeParams": "qaac64 --cvbr 64 --he -q 2 --rate keep --gapless-mode 0 --threading"
|
175 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
{
|
177 |
"uuid": "018d5a94-8aac-740d-b5f7-4d9b87396715",
|
178 |
"nameBasic": "Opus",
|
@@ -542,6 +610,298 @@
|
|
542 |
"durationSamples": 29235967
|
543 |
}
|
544 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
545 |
}
|
546 |
]
|
547 |
}
|
|
|
114 |
"spotify": "1Ogp4yK6RFM50S1RKqU21b",
|
115 |
"youtube": "UCdGCfJqGjqmIOkpskWVz8Jw"
|
116 |
}
|
117 |
+
},
|
118 |
+
{
|
119 |
+
"uuid": "018dadeb-101f-7ae2-a287-ad5d4b98d011",
|
120 |
+
"mbid": "fbd0f271-dc3d-444a-868b-c97d3b861608",
|
121 |
+
"name": "Alva Gracia",
|
122 |
+
"nameLatin": null,
|
123 |
+
"nameFileName": null,
|
124 |
+
"link": {
|
125 |
+
"itunes": 1408806188,
|
126 |
+
"spotify": "3XIfUQhOkgdfKXzL6bUX07",
|
127 |
+
"youtube": "UCr4NUDFAd9wchdDk-EtQl7Q"
|
128 |
+
}
|
129 |
}
|
130 |
],
|
131 |
"codecs": [
|
|
|
155 |
"bitDepth": 24,
|
156 |
"sampleRate": 48000,
|
157 |
"channelCount": 2,
|
158 |
+
"encodeParams": "flac -V -l 12 -b 4608 -m -r 8 -A subdivide_tukey(5)"
|
159 |
+
},
|
160 |
+
{
|
161 |
+
"uuid": "018dade4-df3d-7552-92f4-6babc27d7c2d",
|
162 |
+
"nameBasic": "FLAC",
|
163 |
+
"nameLong": "Free Lossless Audio Codec",
|
164 |
+
"extension": "flac",
|
165 |
+
"isCompress": true,
|
166 |
+
"isLossless": true,
|
167 |
+
"bitRateAvg": null,
|
168 |
+
"bitRateMax": 2116800,
|
169 |
+
"bitDepth": 24,
|
170 |
+
"sampleRate": 44100,
|
171 |
+
"channelCount": 2,
|
172 |
+
"encodeParams": "flac -V -l 12 -b 4608 -m -r 8 -A subdivide_tukey(5)"
|
173 |
+
},
|
174 |
+
{
|
175 |
+
"uuid": "018db181-e98a-78d1-acc3-84590681af8d",
|
176 |
+
"nameBasic": "FLAC",
|
177 |
+
"nameLong": "Free Lossless Audio Codec",
|
178 |
+
"extension": "flac",
|
179 |
+
"isCompress": true,
|
180 |
+
"isLossless": true,
|
181 |
+
"bitRateAvg": null,
|
182 |
+
"bitRateMax": 1411200,
|
183 |
+
"bitDepth": 16,
|
184 |
+
"sampleRate": 44100,
|
185 |
+
"channelCount": 2,
|
186 |
+
"encodeParams": "flac -V -l 12 -b 4608 -m -r 8 -A subdivide_tukey(5)"
|
187 |
},
|
188 |
{
|
189 |
"uuid": "018d2821-51f1-7203-bd3d-34ff786250f3",
|
|
|
199 |
"channelCount": 2,
|
200 |
"encodeParams": "qaac64 --tvbr 127 -q 2 --rate keep --no-delay --gapless-mode 0 --threading"
|
201 |
},
|
202 |
+
{
|
203 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67ccfbda28b0",
|
204 |
+
"nameBasic": "AAC-LC",
|
205 |
+
"nameLong": "Advanced Audio Coding - Low Complexity",
|
206 |
+
"extension": "m4a",
|
207 |
+
"isCompress": true,
|
208 |
+
"isLossless": false,
|
209 |
+
"bitRateAvg": 320000,
|
210 |
+
"bitRateMax": 384000,
|
211 |
+
"bitDepth": null,
|
212 |
+
"sampleRate": 44100,
|
213 |
+
"channelCount": 2,
|
214 |
+
"encodeParams": "qaac64 --tvbr 127 -q 2 --rate keep --no-delay --gapless-mode 0 --threading"
|
215 |
+
},
|
216 |
{
|
217 |
"uuid": "018d2821-51f2-75aa-856a-a02ff306eb55",
|
218 |
"nameBasic": "HE-AAC",
|
|
|
227 |
"channelCount": 2,
|
228 |
"encodeParams": "qaac64 --cvbr 64 --he -q 2 --rate keep --gapless-mode 0 --threading"
|
229 |
},
|
230 |
+
{
|
231 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67cd22beae91",
|
232 |
+
"nameBasic": "HE-AAC",
|
233 |
+
"nameLong": "Advanced Audio Coding - High Efficiency",
|
234 |
+
"extension": "m4a",
|
235 |
+
"isCompress": true,
|
236 |
+
"isLossless": false,
|
237 |
+
"bitRateAvg": 64000,
|
238 |
+
"bitRateMax": 72000,
|
239 |
+
"bitDepth": null,
|
240 |
+
"sampleRate": 44100,
|
241 |
+
"channelCount": 2,
|
242 |
+
"encodeParams": "qaac64 --cvbr 64 --he -q 2 --rate keep --gapless-mode 0 --threading"
|
243 |
+
},
|
244 |
{
|
245 |
"uuid": "018d5a94-8aac-740d-b5f7-4d9b87396715",
|
246 |
"nameBasic": "Opus",
|
|
|
610 |
"durationSamples": 29235967
|
611 |
}
|
612 |
]
|
613 |
+
},
|
614 |
+
{
|
615 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67ca1174150f",
|
616 |
+
"mbid": null,
|
617 |
+
"releaseDate": "2022-02-10",
|
618 |
+
"title": "Emotions Like",
|
619 |
+
"titleLatin": null,
|
620 |
+
"artist": ["018dadeb-101f-7ae2-a287-ad5d4b98d011"],
|
621 |
+
"barCode": 0,
|
622 |
+
"isCompilation": false,
|
623 |
+
"copyright": "(C) 2022 NCS",
|
624 |
+
"link": {
|
625 |
+
"itunes": 1600594931,
|
626 |
+
"spotify": "4j3Nf5FXhfkkQg45VMR8kB"
|
627 |
+
},
|
628 |
+
"isAllTrackSameCodecs": true,
|
629 |
+
"codecs": [
|
630 |
+
{
|
631 |
+
"uuid": "018dade4-df3d-7552-92f4-6babc27d7c2d",
|
632 |
+
"isOriginal": true,
|
633 |
+
"path": "flac"
|
634 |
+
},
|
635 |
+
{
|
636 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67ccfbda28b0",
|
637 |
+
"isOriginal": false,
|
638 |
+
"path": "aac_320k"
|
639 |
+
},
|
640 |
+
{
|
641 |
+
"uuid": "018d5a94-8aac-740d-b5f7-4d9b87396715",
|
642 |
+
"isOriginal": false,
|
643 |
+
"path": "opus_144k"
|
644 |
+
},
|
645 |
+
{
|
646 |
+
"uuid": "018d5a94-8aac-740d-b5f7-4d9cc9b69c80",
|
647 |
+
"isOriginal": false,
|
648 |
+
"path": "opus_64k"
|
649 |
+
},
|
650 |
+
{
|
651 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67cd22beae91",
|
652 |
+
"isOriginal": false,
|
653 |
+
"path": "aac_64k"
|
654 |
+
}
|
655 |
+
],
|
656 |
+
"isCoverArtsUseDefault": true,
|
657 |
+
"coverArts": null,
|
658 |
+
"coverArtPotatoWebp16pxBase64": "UklGRogAAABXRUJQVlA4IHwAAACwAgCdASoQABAAAsBMJbACdFQgFP6Vz2DJZk4TAEAA9nf6Nl24aeSn/h35Ew6k9s21LQiHfti34M/xDWoIJr1w+sWP0hQFVFfNUxPc1Rr6zx+oLqPmTtf5xgz4a0jQ+6IAMoZ9jYHScTu801+xX+HmAJTFZ5et7oprzwAA",
|
659 |
+
"tracks": [
|
660 |
+
{
|
661 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67cb223970ec",
|
662 |
+
"disc": 1,
|
663 |
+
"index": 1,
|
664 |
+
"title": "Emotions Like",
|
665 |
+
"titleLatin": null,
|
666 |
+
"titleFileName": null,
|
667 |
+
"artist": ["018dadeb-101f-7ae2-a287-ad5d4b98d011"],
|
668 |
+
"lyricist": null,
|
669 |
+
"composer": null,
|
670 |
+
"arranger": null,
|
671 |
+
"codecs": null,
|
672 |
+
"durationSamples": 6846000
|
673 |
+
}
|
674 |
+
]
|
675 |
+
},
|
676 |
+
{
|
677 |
+
"uuid": "018dae76-ab7d-7287-a65c-50f5493a7456",
|
678 |
+
"mbid": "1d721d0c-82a7-4667-b28a-c58a2429e8e2",
|
679 |
+
"releaseDate": "2022-11-22",
|
680 |
+
"title": "planetarium",
|
681 |
+
"titleLatin": null,
|
682 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
683 |
+
"barCode": 859758916831,
|
684 |
+
"isCompilation": false,
|
685 |
+
"copyright": "(C) 2022 Aqu3ra",
|
686 |
+
"link": {
|
687 |
+
"itunes": 1652622029,
|
688 |
+
"spotify": "0wrOe41JwHY2fTeueb9Cbu"
|
689 |
+
},
|
690 |
+
"isAllTrackSameCodecs": true,
|
691 |
+
"codecs": [
|
692 |
+
{
|
693 |
+
"uuid": "018db181-e98a-78d1-acc3-84590681af8d",
|
694 |
+
"isOriginal": true,
|
695 |
+
"path": "flac"
|
696 |
+
},
|
697 |
+
{
|
698 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67ccfbda28b0",
|
699 |
+
"isOriginal": false,
|
700 |
+
"path": "aac_320k"
|
701 |
+
},
|
702 |
+
{
|
703 |
+
"uuid": "018d5a94-8aac-740d-b5f7-4d9b87396715",
|
704 |
+
"isOriginal": false,
|
705 |
+
"path": "opus_144k"
|
706 |
+
},
|
707 |
+
{
|
708 |
+
"uuid": "018d5a94-8aac-740d-b5f7-4d9cc9b69c80",
|
709 |
+
"isOriginal": false,
|
710 |
+
"path": "opus_64k"
|
711 |
+
},
|
712 |
+
{
|
713 |
+
"uuid": "018dadbb-c8d6-7a2f-ab0c-67cd22beae91",
|
714 |
+
"isOriginal": false,
|
715 |
+
"path": "aac_64k"
|
716 |
+
}
|
717 |
+
],
|
718 |
+
"isCoverArtsUseDefault": true,
|
719 |
+
"coverArts": null,
|
720 |
+
"coverArtPotatoWebp16pxBase64": "UklGRoAAAABXRUJQVlA4IHQAAAAQAgCdASoQABAAAsBMJbACdAEO+W9L0HFAAP75R85WcMwQulyASIsZfYcJSGfPgcYcdqBsf3bTqVyxaUpZ0mVG3pyqv8JZCXK3fkTEobJ/y3H+uaRf8Qmi4iF7dBbwk1zoNvHDgcYbTD8FNz4wsSUIPwAAAA==",
|
721 |
+
"tracks": [
|
722 |
+
{
|
723 |
+
"uuid": "018dae75-e118-7e89-bfaf-46d4f03a570d",
|
724 |
+
"disc": 1,
|
725 |
+
"index": 1,
|
726 |
+
"title": "Sleeping Awake",
|
727 |
+
"titleLatin": null,
|
728 |
+
"titleFileName": null,
|
729 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
730 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
731 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
732 |
+
"arranger": null,
|
733 |
+
"codecs": null,
|
734 |
+
"durationSamples": 9599019
|
735 |
+
},
|
736 |
+
{
|
737 |
+
"uuid": "018dae75-e118-7e89-bfaf-46d5fa064c3d",
|
738 |
+
"disc": 1,
|
739 |
+
"index": 2,
|
740 |
+
"title": "アイボリー",
|
741 |
+
"titleLatin": "Ivory",
|
742 |
+
"titleFileName": null,
|
743 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
744 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
745 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
746 |
+
"arranger": null,
|
747 |
+
"codecs": null,
|
748 |
+
"durationSamples": 8690668
|
749 |
+
},
|
750 |
+
{
|
751 |
+
"uuid": "018dae75-e118-7e89-bfaf-46d6038a8268",
|
752 |
+
"disc": 1,
|
753 |
+
"index": 3,
|
754 |
+
"title": "ロンリーユニバース",
|
755 |
+
"titleLatin": "Lonely Universe",
|
756 |
+
"titleFileName": null,
|
757 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
758 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
759 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
760 |
+
"arranger": null,
|
761 |
+
"codecs": null,
|
762 |
+
"durationSamples": 9657900
|
763 |
+
},
|
764 |
+
{
|
765 |
+
"uuid": "018dae75-e118-7e89-bfaf-46d7bf4c12af",
|
766 |
+
"disc": 1,
|
767 |
+
"index": 4,
|
768 |
+
"title": "メーデー",
|
769 |
+
"titleLatin": "Mayday",
|
770 |
+
"titleFileName": null,
|
771 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
772 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
773 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
774 |
+
"arranger": null,
|
775 |
+
"codecs": null,
|
776 |
+
"durationSamples": 9641865
|
777 |
+
},
|
778 |
+
{
|
779 |
+
"uuid": "018dae75-e118-7e89-bfaf-46d802fed938",
|
780 |
+
"disc": 1,
|
781 |
+
"index": 5,
|
782 |
+
"title": "ラムネ",
|
783 |
+
"titleLatin": "Ramune",
|
784 |
+
"titleFileName": null,
|
785 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
786 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
787 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
788 |
+
"arranger": null,
|
789 |
+
"codecs": null,
|
790 |
+
"durationSamples": 9426375
|
791 |
+
},
|
792 |
+
{
|
793 |
+
"uuid": "018dae75-e118-7e89-bfaf-46d9ad4b6697",
|
794 |
+
"disc": 1,
|
795 |
+
"index": 6,
|
796 |
+
"title": "ゴーストダンス",
|
797 |
+
"titleLatin": "Ghost Dance",
|
798 |
+
"titleFileName": null,
|
799 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
800 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
801 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
802 |
+
"arranger": null,
|
803 |
+
"codecs": null,
|
804 |
+
"durationSamples": 10079290
|
805 |
+
},
|
806 |
+
{
|
807 |
+
"uuid": "018dae75-e118-7e89-bfaf-46da55192a4c",
|
808 |
+
"disc": 1,
|
809 |
+
"index": 7,
|
810 |
+
"title": "シックス・フィート・アンダー",
|
811 |
+
"titleLatin": "Six Feet Under",
|
812 |
+
"titleFileName": null,
|
813 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
814 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
815 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
816 |
+
"arranger": null,
|
817 |
+
"codecs": null,
|
818 |
+
"durationSamples": 9497747
|
819 |
+
},
|
820 |
+
{
|
821 |
+
"uuid": "018dae75-e118-7e89-bfaf-46db82fdf937",
|
822 |
+
"disc": 1,
|
823 |
+
"index": 8,
|
824 |
+
"title": "ミッドナイトサン",
|
825 |
+
"titleLatin": "MidnightSun",
|
826 |
+
"titleFileName": null,
|
827 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
828 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
829 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
830 |
+
"arranger": null,
|
831 |
+
"codecs": null,
|
832 |
+
"durationSamples": 9523328
|
833 |
+
},
|
834 |
+
{
|
835 |
+
"uuid": "018dae75-e118-7e89-bfaf-46dce8f44275",
|
836 |
+
"disc": 1,
|
837 |
+
"index": 9,
|
838 |
+
"title": "Day&Night",
|
839 |
+
"titleLatin": null,
|
840 |
+
"titleFileName": null,
|
841 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
842 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
843 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
844 |
+
"arranger": null,
|
845 |
+
"codecs": null,
|
846 |
+
"durationSamples": 9235721
|
847 |
+
},
|
848 |
+
{
|
849 |
+
"uuid": "018dae75-e118-7e89-bfaf-46ddf81d0461",
|
850 |
+
"disc": 1,
|
851 |
+
"index": 10,
|
852 |
+
"title": "解けない夏",
|
853 |
+
"titleLatin": "Tokenai Natsu",
|
854 |
+
"titleFileName": null,
|
855 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
856 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
857 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
858 |
+
"arranger": null,
|
859 |
+
"codecs": null,
|
860 |
+
"durationSamples": 9525600
|
861 |
+
},
|
862 |
+
{
|
863 |
+
"uuid": "018dae75-e118-7e89-bfaf-46de48d8d5ea",
|
864 |
+
"disc": 1,
|
865 |
+
"index": 11,
|
866 |
+
"title": "アイスドロップ",
|
867 |
+
"titleLatin": "Ice Drop",
|
868 |
+
"titleFileName": null,
|
869 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
870 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
871 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
872 |
+
"arranger": null,
|
873 |
+
"codecs": null,
|
874 |
+
"durationSamples": 9916150
|
875 |
+
},
|
876 |
+
{
|
877 |
+
"uuid": "018dae75-e118-7e89-bfaf-46dfd37e561d",
|
878 |
+
"disc": 1,
|
879 |
+
"index": 12,
|
880 |
+
"title": "真夜中のダイバー",
|
881 |
+
"titleLatin": "Midnight Diver",
|
882 |
+
"titleFileName": null,
|
883 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
884 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
885 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
886 |
+
"arranger": null,
|
887 |
+
"codecs": null,
|
888 |
+
"durationSamples": 6968825
|
889 |
+
},
|
890 |
+
{
|
891 |
+
"uuid": "018dae75-e119-784d-93da-3566d8057f01",
|
892 |
+
"disc": 1,
|
893 |
+
"index": 13,
|
894 |
+
"title": "Namioto",
|
895 |
+
"titleLatin": null,
|
896 |
+
"titleFileName": null,
|
897 |
+
"artist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
898 |
+
"lyricist": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
899 |
+
"composer": ["018d286b-9507-70d9-b4cd-17416f6d8d64"],
|
900 |
+
"arranger": null,
|
901 |
+
"codecs": null,
|
902 |
+
"durationSamples": 8424000
|
903 |
+
}
|
904 |
+
]
|
905 |
}
|
906 |
]
|
907 |
}
|
index.html
CHANGED
@@ -38,7 +38,11 @@
|
|
38 |
<div id="mainContainer" class="container px-4 my-4">
|
39 |
<h1 class="user-select-none text-center">discography_v2_cdn_front</h1>
|
40 |
<hr class="my-4">
|
41 |
-
<
|
|
|
|
|
|
|
|
|
42 |
<div class="modal fade user-select-none" id="settingsModal" tabindex="-1">
|
43 |
<div class="modal-dialog modal-dialog-scrollable">
|
44 |
<div class="modal-content">
|
@@ -66,7 +70,7 @@
|
|
66 |
</div>
|
67 |
</div>
|
68 |
<hr class="my-4">
|
69 |
-
<h3 class="mb-3 user-select-none">Album List</h3>
|
70 |
<div class="fetchingDataNowLabel user-select-none d-none">
|
71 |
<div class="d-inline-flex align-items-center mb-3">
|
72 |
<div class="spinner-border text-primary me-2" role="status">
|
@@ -77,7 +81,7 @@
|
|
77 |
</div>
|
78 |
<div id="albumAllCardGroup" class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5 g-4 user-select-none"></div>
|
79 |
<hr class="my-4">
|
80 |
-
<h3 class="mb-3 user-select-none">Track List</h3>
|
81 |
<div class="fetchingDataNowLabel user-select-none d-none">
|
82 |
<div class="d-inline-flex align-items-center mb-3">
|
83 |
<div class="spinner-border text-primary me-2" role="status">
|
@@ -101,57 +105,59 @@
|
|
101 |
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
102 |
</div>
|
103 |
<div class="modal-body">
|
104 |
-
<
|
105 |
-
|
106 |
-
|
107 |
-
<
|
108 |
-
<
|
109 |
-
<
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
<
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
<
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
<
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
<
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
<
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
<
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
<
|
147 |
-
|
148 |
-
<div class="accordion-
|
149 |
-
<
|
150 |
-
<
|
151 |
-
|
152 |
-
|
153 |
-
<div class="accordion-
|
154 |
-
<
|
|
|
|
|
155 |
</div>
|
156 |
</div>
|
157 |
</div>
|
|
|
38 |
<div id="mainContainer" class="container px-4 my-4">
|
39 |
<h1 class="user-select-none text-center">discography_v2_cdn_front</h1>
|
40 |
<hr class="my-4">
|
41 |
+
<div id="topMenuButtonContainer" class="text-center">
|
42 |
+
<a class="btn btn-primary mx-1" href="#albumAllListTitleLabel" role="button">Album List</a>
|
43 |
+
<a class="btn btn-primary mx-1" href="#trackAllListTitleLabel" role="button">Track List</a>
|
44 |
+
<button id="showSettingsModalButton" class="btn btn-primary mx-1" type="button" data-bs-toggle="modal" data-bs-target="#settingsModal"><!-- <i class="bi bi-gear-wide-connected me-1"></i> -->Settings</button>
|
45 |
+
</div>
|
46 |
<div class="modal fade user-select-none" id="settingsModal" tabindex="-1">
|
47 |
<div class="modal-dialog modal-dialog-scrollable">
|
48 |
<div class="modal-content">
|
|
|
70 |
</div>
|
71 |
</div>
|
72 |
<hr class="my-4">
|
73 |
+
<h3 id="albumAllListTitleLabel" class="mb-3 user-select-none">Album List</h3>
|
74 |
<div class="fetchingDataNowLabel user-select-none d-none">
|
75 |
<div class="d-inline-flex align-items-center mb-3">
|
76 |
<div class="spinner-border text-primary me-2" role="status">
|
|
|
81 |
</div>
|
82 |
<div id="albumAllCardGroup" class="row row-cols-2 row-cols-md-3 row-cols-lg-4 row-cols-xl-5 g-4 user-select-none"></div>
|
83 |
<hr class="my-4">
|
84 |
+
<h3 id="trackAllListTitleLabel" class="mb-3 user-select-none">Track List</h3>
|
85 |
<div class="fetchingDataNowLabel user-select-none d-none">
|
86 |
<div class="d-inline-flex align-items-center mb-3">
|
87 |
<div class="spinner-border text-primary me-2" role="status">
|
|
|
105 |
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
106 |
</div>
|
107 |
<div class="modal-body">
|
108 |
+
<div id="albumInfoModalContent" class="bg-transparent position-relative">
|
109 |
+
<h3>Metadata</h3>
|
110 |
+
<h4>General</h4>
|
111 |
+
<table class="table table-sm table-responsive table-hover table-borderless align-middle">
|
112 |
+
<tbody>
|
113 |
+
<tr>
|
114 |
+
<td>Album Title</td>
|
115 |
+
<td id="albumInfoModal-metadataTable-albumTitle">---</td>
|
116 |
+
</tr>
|
117 |
+
<tr>
|
118 |
+
<td>Album Artist</td>
|
119 |
+
<td id="albumInfoModal-metadataTable-albumArtist">---</td>
|
120 |
+
</tr>
|
121 |
+
<tr>
|
122 |
+
<td>Album Released</td>
|
123 |
+
<td id="albumInfoModal-metadataTable-albumReleaseDate">YYYY/MM/DD</td>
|
124 |
+
</tr>
|
125 |
+
<tr>
|
126 |
+
<td>Album Barcode</td>
|
127 |
+
<td id="albumInfoModal-metadataTable-albumBarcode">Sample Number</td>
|
128 |
+
</tr>
|
129 |
+
<tr>
|
130 |
+
<td>Album Copyright</td>
|
131 |
+
<td id="albumInfoModal-metadataTable-albumCopyright">---</td>
|
132 |
+
</tr>
|
133 |
+
</tbody>
|
134 |
+
</table>
|
135 |
+
<h4>Track List</h4>
|
136 |
+
<div id="albumInfoModal-trackAllListGroup" class="list-group user-select-none mb-4">
|
137 |
+
<!-- <button type="button" class="list-group-item list-group-item-action d-flex" disabled>
|
138 |
+
<div class="flex-fill w-100">Artist</div>
|
139 |
+
<div class="flex-fill w-100">Track</div>
|
140 |
+
</button> -->
|
141 |
+
</div>
|
142 |
+
<h4>External Links</h4>
|
143 |
+
<table id="albumInfoModal-externalLinkTableRoot" class="table table-sm table-responsive table-hover table-borderless align-middle">
|
144 |
+
<tbody id="albumInfoModal-externalLinkTable">
|
145 |
+
</tbody>
|
146 |
+
</table>
|
147 |
+
<h4>Cover Artwork Images</h4>
|
148 |
+
<div class="mb-3" id="albumInfoModal-coverArtLinkDiv">
|
149 |
+
</div>
|
150 |
+
<div id="debugAreaSection" class="d-none">
|
151 |
+
<h3>Debug Area</h3>
|
152 |
+
<div class="accordion" id="albumInfoModal-DebugAcd">
|
153 |
+
<div class="accordion-item">
|
154 |
+
<h2 class="accordion-header">
|
155 |
+
<button class="accordion-button collapsed user-select-none" type="button" data-bs-toggle="collapse" data-bs-target="#albumInfoModal-DebugAcdInCollapse">Parsed data output (album)</button>
|
156 |
+
</h2>
|
157 |
+
<div id="albumInfoModal-DebugAcdInCollapse" class="accordion-collapse collapse" data-bs-parent="#albumInfoModal-DebugAcd">
|
158 |
+
<div class="accordion-body">
|
159 |
+
<pre class=""><code id="albumInfoModal-DebugAcdOutputEl"></code></pre>
|
160 |
+
</div>
|
161 |
</div>
|
162 |
</div>
|
163 |
</div>
|
script.js
CHANGED
@@ -188,8 +188,8 @@ function loadTrackInfoModal (trackUuid) {
|
|
188 |
document.getElementById('trackInfoModal-metadataTable-artists').setAttribute('data-bs-toggle', 'tooltip');
|
189 |
document.getElementById('trackInfoModal-metadataTable-artists').setAttribute('data-bs-title', trackParsedObject.artist.map((obj) => {if (obj.nameLatin !== null) {return obj.nameLatin} else {return obj.name}}).join(', '));
|
190 |
} else {
|
191 |
-
document.getElementById('trackInfoModal-metadataTable-
|
192 |
-
document.getElementById('trackInfoModal-metadataTable-
|
193 |
}
|
194 |
if (trackParsedObject.lyricist === null) {
|
195 |
document.getElementById('trackInfoModal-metadataTable-lyricist').parentNode.classList.add('d-none');
|
@@ -237,7 +237,7 @@ function loadTrackInfoModal (trackUuid) {
|
|
237 |
}
|
238 |
}
|
239 |
document.getElementById('trackInfoModal-metadataTable-trackDurationReadable').innerHTML = msecToReadableTime(trackParsedObject.durationMsecs);
|
240 |
-
document.getElementById('trackInfoModal-metadataTable-trackDurationMsec').innerHTML = `${trackParsedObject.durationMsecs} ms`;
|
241 |
document.getElementById('trackInfoModal-metadataTable-trackDurationSamples').innerHTML = `${trackParsedObject.durationSamples} samples`;
|
242 |
document.getElementById('trackInfoModal-metadataTable-albumTitle').innerHTML = albumParsedObject.title;
|
243 |
if (albumParsedObject.titleLatin === null) {
|
@@ -369,6 +369,8 @@ function loadTrackInfoModal (trackUuid) {
|
|
369 |
const bootstrapTooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
370 |
bootstrapTooltipList = [...bootstrapTooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl));
|
371 |
document.getElementById('trackInfoModal-DebugAcdOutputEl').innerHTML = JSON.stringify(albumParsedObject, '', ' ');
|
|
|
|
|
372 |
const trackInfoModal = new bootstrap.Modal(document.getElementById('trackInfoModal'));
|
373 |
trackInfoModal.show();
|
374 |
}
|
@@ -389,8 +391,8 @@ function loadTrackInfoModal2 (trackUuid) {
|
|
389 |
document.getElementById('trackInfoModal2-metadataTable-artists').setAttribute('data-bs-toggle', 'tooltip');
|
390 |
document.getElementById('trackInfoModal2-metadataTable-artists').setAttribute('data-bs-title', trackParsedObject.artist.map((obj) => {if (obj.nameLatin !== null) {return obj.nameLatin} else {return obj.name}}).join(', '));
|
391 |
} else {
|
392 |
-
document.getElementById('trackInfoModal2-metadataTable-
|
393 |
-
document.getElementById('trackInfoModal2-metadataTable-
|
394 |
}
|
395 |
if (trackParsedObject.lyricist === null) {
|
396 |
document.getElementById('trackInfoModal2-metadataTable-lyricist').parentNode.classList.add('d-none');
|
@@ -438,7 +440,7 @@ function loadTrackInfoModal2 (trackUuid) {
|
|
438 |
}
|
439 |
}
|
440 |
document.getElementById('trackInfoModal2-metadataTable-trackDurationReadable').innerHTML = msecToReadableTime(trackParsedObject.durationMsecs);
|
441 |
-
document.getElementById('trackInfoModal2-metadataTable-trackDurationMsec').innerHTML = `${trackParsedObject.durationMsecs} ms`;
|
442 |
document.getElementById('trackInfoModal2-metadataTable-trackDurationSamples').innerHTML = `${trackParsedObject.durationSamples} samples`;
|
443 |
document.getElementById('trackInfoModal2-metadataTable-albumTitle').innerHTML = albumParsedObject.title;
|
444 |
if (albumParsedObject.titleLatin === null) {
|
@@ -570,6 +572,8 @@ function loadTrackInfoModal2 (trackUuid) {
|
|
570 |
const bootstrapTooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
571 |
bootstrapTooltipList = [...bootstrapTooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl));
|
572 |
document.getElementById('trackInfoModal2-DebugAcdOutputEl').innerHTML = JSON.stringify(albumParsedObject, '', ' ');
|
|
|
|
|
573 |
const trackInfoModal2 = new bootstrap.Modal(document.getElementById('trackInfoModal2'));
|
574 |
trackInfoModal2.show();
|
575 |
}
|
@@ -998,6 +1002,15 @@ function writeAppSettingsToLocalStorage () {
|
|
998 |
console.log(`Wrote appSettings:\n${JSON.stringify(appSettingsSaveData)}`);
|
999 |
}
|
1000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1001 |
// ========== その他使い回す汎用関数など ==========
|
1002 |
|
1003 |
function msecToReadableTime (msec) {
|
@@ -1006,4 +1019,4 @@ function msecToReadableTime (msec) {
|
|
1006 |
let min = ('00' + Math.floor(sec / 60)).slice(-2);
|
1007 |
let secPart = ('00' + Math.floor(sec % 60)).slice(-2);
|
1008 |
return `${min}:${secPart}.${('000' + msecCeiled % 1000).slice(-3)}`;
|
1009 |
-
}
|
|
|
188 |
document.getElementById('trackInfoModal-metadataTable-artists').setAttribute('data-bs-toggle', 'tooltip');
|
189 |
document.getElementById('trackInfoModal-metadataTable-artists').setAttribute('data-bs-title', trackParsedObject.artist.map((obj) => {if (obj.nameLatin !== null) {return obj.nameLatin} else {return obj.name}}).join(', '));
|
190 |
} else {
|
191 |
+
document.getElementById('trackInfoModal-metadataTable-artists').removeAttribute('data-bs-toggle');
|
192 |
+
document.getElementById('trackInfoModal-metadataTable-artists').removeAttribute('data-bs-title');
|
193 |
}
|
194 |
if (trackParsedObject.lyricist === null) {
|
195 |
document.getElementById('trackInfoModal-metadataTable-lyricist').parentNode.classList.add('d-none');
|
|
|
237 |
}
|
238 |
}
|
239 |
document.getElementById('trackInfoModal-metadataTable-trackDurationReadable').innerHTML = msecToReadableTime(trackParsedObject.durationMsecs);
|
240 |
+
document.getElementById('trackInfoModal-metadataTable-trackDurationMsec').innerHTML = `${Math.ceil(trackParsedObject.durationMsecs)} ms`;
|
241 |
document.getElementById('trackInfoModal-metadataTable-trackDurationSamples').innerHTML = `${trackParsedObject.durationSamples} samples`;
|
242 |
document.getElementById('trackInfoModal-metadataTable-albumTitle').innerHTML = albumParsedObject.title;
|
243 |
if (albumParsedObject.titleLatin === null) {
|
|
|
369 |
const bootstrapTooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
370 |
bootstrapTooltipList = [...bootstrapTooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl));
|
371 |
document.getElementById('trackInfoModal-DebugAcdOutputEl').innerHTML = JSON.stringify(albumParsedObject, '', ' ');
|
372 |
+
document.getElementById('trackInfoModal-ModalCloseButton').addEventListener('click', () => {allAudioElementStop()});
|
373 |
+
document.getElementById('trackInfoModal-ModalCloseIconButton').addEventListener('click', () => {allAudioElementStop()});
|
374 |
const trackInfoModal = new bootstrap.Modal(document.getElementById('trackInfoModal'));
|
375 |
trackInfoModal.show();
|
376 |
}
|
|
|
391 |
document.getElementById('trackInfoModal2-metadataTable-artists').setAttribute('data-bs-toggle', 'tooltip');
|
392 |
document.getElementById('trackInfoModal2-metadataTable-artists').setAttribute('data-bs-title', trackParsedObject.artist.map((obj) => {if (obj.nameLatin !== null) {return obj.nameLatin} else {return obj.name}}).join(', '));
|
393 |
} else {
|
394 |
+
document.getElementById('trackInfoModal2-metadataTable-artists').removeAttribute('data-bs-toggle');
|
395 |
+
document.getElementById('trackInfoModal2-metadataTable-artists').removeAttribute('data-bs-title');
|
396 |
}
|
397 |
if (trackParsedObject.lyricist === null) {
|
398 |
document.getElementById('trackInfoModal2-metadataTable-lyricist').parentNode.classList.add('d-none');
|
|
|
440 |
}
|
441 |
}
|
442 |
document.getElementById('trackInfoModal2-metadataTable-trackDurationReadable').innerHTML = msecToReadableTime(trackParsedObject.durationMsecs);
|
443 |
+
document.getElementById('trackInfoModal2-metadataTable-trackDurationMsec').innerHTML = `${Math.ceil(trackParsedObject.durationMsecs)} ms`;
|
444 |
document.getElementById('trackInfoModal2-metadataTable-trackDurationSamples').innerHTML = `${trackParsedObject.durationSamples} samples`;
|
445 |
document.getElementById('trackInfoModal2-metadataTable-albumTitle').innerHTML = albumParsedObject.title;
|
446 |
if (albumParsedObject.titleLatin === null) {
|
|
|
572 |
const bootstrapTooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]');
|
573 |
bootstrapTooltipList = [...bootstrapTooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl));
|
574 |
document.getElementById('trackInfoModal2-DebugAcdOutputEl').innerHTML = JSON.stringify(albumParsedObject, '', ' ');
|
575 |
+
document.getElementById('trackInfoModal2-ModalCloseButton').addEventListener('click', () => {allAudioElementStop()});
|
576 |
+
document.getElementById('trackInfoModal2-ModalCloseIconButton').addEventListener('click', () => {allAudioElementStop()});
|
577 |
const trackInfoModal2 = new bootstrap.Modal(document.getElementById('trackInfoModal2'));
|
578 |
trackInfoModal2.show();
|
579 |
}
|
|
|
1002 |
console.log(`Wrote appSettings:\n${JSON.stringify(appSettingsSaveData)}`);
|
1003 |
}
|
1004 |
|
1005 |
+
// ========== 全てのAudio要素をStop ==========
|
1006 |
+
|
1007 |
+
function allAudioElementStop () {
|
1008 |
+
let audioElements = document.getElementsByTagName('audio');
|
1009 |
+
for (let i = 0; i < audioElements.length; i++) {
|
1010 |
+
audioElements[i].pause();
|
1011 |
+
}
|
1012 |
+
}
|
1013 |
+
|
1014 |
// ========== その他使い回す汎用関数など ==========
|
1015 |
|
1016 |
function msecToReadableTime (msec) {
|
|
|
1019 |
let min = ('00' + Math.floor(sec / 60)).slice(-2);
|
1020 |
let secPart = ('00' + Math.floor(sec % 60)).slice(-2);
|
1021 |
return `${min}:${secPart}.${('000' + msecCeiled % 1000).slice(-3)}`;
|
1022 |
+
}
|