multi_embed_player 3.1.0 → 3.2.0

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.
Files changed (118) hide show
  1. package/add_exports.js +42 -0
  2. package/dist/iframe_api/bilibili.d.ts +210 -0
  3. package/dist/iframe_api/bilibili.d.ts.map +1 -0
  4. package/dist/iframe_api/bilibili.js +1035 -0
  5. package/dist/iframe_api/bilibili.js.map +1 -0
  6. package/dist/iframe_api/niconico.d.ts +191 -0
  7. package/dist/iframe_api/niconico.d.ts.map +1 -0
  8. package/dist/iframe_api/niconico.js +325 -0
  9. package/dist/iframe_api/niconico.js.map +1 -0
  10. package/dist/iframe_api/soundcloud.d.ts +152 -0
  11. package/dist/iframe_api/soundcloud.d.ts.map +1 -0
  12. package/dist/iframe_api/soundcloud.js +360 -0
  13. package/dist/iframe_api/soundcloud.js.map +1 -0
  14. package/dist/iframe_api/youtube.d.ts +96 -0
  15. package/dist/iframe_api/youtube.d.ts.map +1 -0
  16. package/dist/iframe_api/youtube.js +269 -0
  17. package/dist/iframe_api/youtube.js.map +1 -0
  18. package/dist/multi_embed_player.d.ts +231 -0
  19. package/dist/multi_embed_player.d.ts.map +1 -0
  20. package/dist/multi_embed_player.js +921 -0
  21. package/dist/multi_embed_player.js.map +1 -0
  22. package/package.json +9 -2
  23. package/.github/workflows/build-and-deploy.yml +0 -44
  24. package/.gitmodules +0 -3
  25. package/browserExtention/chrome/background.js +0 -55
  26. package/browserExtention/chrome/extention.json +0 -1
  27. package/browserExtention/chrome/liteplayer.js +0 -26439
  28. package/browserExtention/chrome/manifest.json +0 -31
  29. package/browserExtention/chrome/player-selector.js +0 -1854
  30. package/browserExtention/firefox/background.js +0 -27
  31. package/browserExtention/firefox/extention.json +0 -1
  32. package/browserExtention/firefox/liteplayer.js +0 -26439
  33. package/browserExtention/firefox/manifest.json +0 -19
  34. package/browserExtention/firefox/player-selector.js +0 -1854
  35. package/documents/.hugo_build.lock +0 -0
  36. package/documents/archetypes/default.md +0 -5
  37. package/documents/assets/jsconfig.json +0 -11
  38. package/documents/content/docs/install.md +0 -103
  39. package/documents/content/docs/quickstart.md +0 -51
  40. package/documents/content/docs/reference/HTML.md +0 -31
  41. package/documents/content/docs/reference/_index.md +0 -10
  42. package/documents/content/docs/reference/error_code.md +0 -23
  43. package/documents/content/docs/reference/iframe_api.md +0 -737
  44. package/documents/content/docs/reference/iframe_class.md +0 -230
  45. package/documents/content/docs/reference/multi_embed_player_class.md +0 -113
  46. package/documents/content/docs/reference/reserved_words.md +0 -71
  47. package/documents/content/docs/usage/GDPR_mode.md +0 -77
  48. package/documents/content/docs/usage/_index.md +0 -10
  49. package/documents/content/docs/usage/custom_playlist.md +0 -239
  50. package/documents/content/docs/usage/embed_api.md +0 -163
  51. package/documents/content/docs/usage/embed_various_service.md +0 -81
  52. package/documents/content/docs/usage/thumbnail_click.md +0 -57
  53. package/documents/go.mod +0 -8
  54. package/documents/go.sum +0 -14
  55. package/documents/hugo.toml +0 -18
  56. package/documents/layouts/partials/docs/sidebar.html +0 -117
  57. package/documents/layouts/partials/landing/features.html +0 -47
  58. package/documents/layouts/robots.txt +0 -4
  59. package/documents/static/_headers +0 -7
  60. package/documents/static/localStorageCheck.html +0 -27
  61. package/documents/static/no_extention.json +0 -1
  62. package/example.html +0 -27
  63. package/extention.json +0 -1
  64. package/icon/video_not_found.odg +0 -0
  65. package/icon/video_not_found.svgz +0 -0
  66. package/iframe_api/bilibili.ts +0 -1095
  67. package/iframe_api/niconico.ts +0 -429
  68. package/iframe_api/soundcloud.ts +0 -450
  69. package/iframe_api/youtube.ts +0 -311
  70. package/multi_embed_player.ts +0 -989
  71. package/player_api_gate/bilibili-api-gate/cgi/cpp/bilibili-api-gate-cgi.cpp +0 -281
  72. package/player_api_gate/bilibili-api-gate/cgi/go/src.go +0 -46
  73. package/player_api_gate/bilibili-api-gate/cloudflare_workers/package-lock.json +0 -1356
  74. package/player_api_gate/bilibili-api-gate/cloudflare_workers/package.json +0 -12
  75. package/player_api_gate/bilibili-api-gate/cloudflare_workers/src/index.js +0 -50
  76. package/player_api_gate/bilibili-api-gate/cloudflare_workers/wrangler.toml +0 -3
  77. package/player_api_gate/iframe-api-ts/.editorconfig +0 -12
  78. package/player_api_gate/iframe-api-ts/.prettierrc +0 -6
  79. package/player_api_gate/iframe-api-ts/package-lock.json +0 -3054
  80. package/player_api_gate/iframe-api-ts/package.json +0 -18
  81. package/player_api_gate/iframe-api-ts/src/bilibili.ts +0 -49
  82. package/player_api_gate/iframe-api-ts/src/index.ts +0 -35
  83. package/player_api_gate/iframe-api-ts/src/niconico.ts +0 -95
  84. package/player_api_gate/iframe-api-ts/src/soundcloud.ts +0 -38
  85. package/player_api_gate/iframe-api-ts/src/types.ts +0 -115
  86. package/player_api_gate/iframe-api-ts/src/url-proxy.ts +0 -29
  87. package/player_api_gate/iframe-api-ts/src/utils.ts +0 -82
  88. package/player_api_gate/iframe-api-ts/src/youtube.ts +0 -41
  89. package/player_api_gate/iframe-api-ts/test/bilibili.spec.ts +0 -47
  90. package/player_api_gate/iframe-api-ts/test/env.d.ts +0 -3
  91. package/player_api_gate/iframe-api-ts/test/index.spec.ts +0 -59
  92. package/player_api_gate/iframe-api-ts/test/niconico.spec.ts +0 -55
  93. package/player_api_gate/iframe-api-ts/test/soundcloud.spec.ts +0 -55
  94. package/player_api_gate/iframe-api-ts/test/tsconfig.json +0 -8
  95. package/player_api_gate/iframe-api-ts/test/url-proxy.spec.ts +0 -46
  96. package/player_api_gate/iframe-api-ts/test/youtube.spec.ts +0 -45
  97. package/player_api_gate/iframe-api-ts/tsconfig.json +0 -45
  98. package/player_api_gate/iframe-api-ts/vitest.config.mts +0 -11
  99. package/player_api_gate/iframe-api-ts/worker-configuration.d.ts +0 -5768
  100. package/player_api_gate/iframe-api-ts/wrangler.jsonc +0 -47
  101. package/player_api_gate/iframe_api/.editorconfig +0 -13
  102. package/player_api_gate/iframe_api/.prettierrc +0 -6
  103. package/player_api_gate/iframe_api/package-lock.json +0 -1307
  104. package/player_api_gate/iframe_api/package.json +0 -12
  105. package/player_api_gate/iframe_api/src/bilibili_api.js +0 -60
  106. package/player_api_gate/iframe_api/src/index.js +0 -47
  107. package/player_api_gate/iframe_api/src/niconico_api.js +0 -112
  108. package/player_api_gate/iframe_api/src/soundcloud_api.js +0 -57
  109. package/player_api_gate/iframe_api/src/url_proxy.js +0 -28
  110. package/player_api_gate/iframe_api/src/youtube_api.js +0 -44
  111. package/player_api_gate/iframe_api/wrangler.toml +0 -51
  112. package/player_api_gate/niconico-imager/cgi/go/src.go +0 -74
  113. package/player_api_gate/niconico-imager/cloudflare_workers/package-lock.json +0 -2175
  114. package/player_api_gate/niconico-imager/cloudflare_workers/package.json +0 -12
  115. package/player_api_gate/niconico-imager/cloudflare_workers/src/index.js +0 -78
  116. package/player_api_gate/niconico-imager/cloudflare_workers/wrangler.toml +0 -3
  117. package/test_script.html +0 -172
  118. package/tsconfig.json +0 -36
@@ -0,0 +1,152 @@
1
+ declare var SC: any;
2
+ /**
3
+ * @typedef {Object} mep_soundcloud_load_object
4
+ * @property {string} videoId - The ID of the video.
5
+ * @property {number} [startSeconds] - The start time of the video.
6
+ * @property {number} [endSeconds] - The end time of the video.
7
+ */
8
+ /**
9
+ * @typedef {Object} mep_soundcloud_playerVars
10
+ * @property {number} [autoplay] - Whether to autoplay the initial video.
11
+ * @property {number} [hide_related] - Hide related videos after the video ends.
12
+ * @property {number} [show_comments] - Show comments.
13
+ * @property {number} [show_user] - Show the user's name and profile picture.
14
+ * @property {number} [show_reposts] - Show reposts.
15
+ * @property {number} [visual] - Show the video title and other visual metadata.
16
+ * @property {number} [startSeconds] - The start time of the video.
17
+ * @property {number} [endSeconds] - The end time of the video.
18
+ */
19
+ /**
20
+ * @typedef {Object} mep_soundcloud_content
21
+ * @property {string} videoId - The ID of the video.
22
+ * @property {mep_soundcloud_playerVars} [playerVars] - Player parameters.
23
+ * @property {number} width - The width of the video player.
24
+ * @property {number} height - The height of the video player.
25
+ */
26
+ interface mep_soundcloud_load_object {
27
+ videoId: string;
28
+ startSeconds?: number;
29
+ endSeconds?: number;
30
+ }
31
+ interface mep_soundcloud_playerVars {
32
+ autoplay?: number | string;
33
+ hide_related?: number | string;
34
+ show_comments?: number | string;
35
+ show_user?: number | string;
36
+ show_reposts?: number | string;
37
+ visual?: number | string;
38
+ startSeconds?: number;
39
+ endSeconds?: number;
40
+ [key: string]: number | string | undefined;
41
+ }
42
+ interface mep_soundcloud_content {
43
+ videoId: string;
44
+ playerVars?: mep_soundcloud_playerVars;
45
+ width: number;
46
+ height: number;
47
+ }
48
+ interface TrackData {
49
+ currentPosition: number;
50
+ }
51
+ interface SoundMetadata {
52
+ title: string;
53
+ duration: number;
54
+ }
55
+ /**
56
+ * Class representing a SoundCloud player.
57
+ */
58
+ declare class mep_soundcloud {
59
+ #private;
60
+ player: HTMLIFrameElement;
61
+ playerVars: mep_soundcloud_playerVars | undefined;
62
+ player_statusdata: any;
63
+ autoplay: boolean;
64
+ player_widget: any;
65
+ player_metadata: any;
66
+ before_mute_volume: number;
67
+ forse_pause: boolean;
68
+ first_seek_time: number;
69
+ endSeconds: number;
70
+ pause_sended: boolean;
71
+ interval: number;
72
+ previous_player_status: number;
73
+ retry_count: number;
74
+ static soundcloud_api_loaded: boolean | null;
75
+ static soundcloud_api_promise: (() => void)[];
76
+ static numericRegex: RegExp;
77
+ constructor(replacing_element: string | HTMLElement, content: mep_soundcloud_content, player_set_event_function?: (player: HTMLIFrameElement) => void);
78
+ /**
79
+ * This function plays the video.
80
+ */
81
+ playVideo(): void;
82
+ /**
83
+ * This function pauses the video.
84
+ */
85
+ pauseVideo(): void;
86
+ /**
87
+ * This function return the current time of the video.
88
+ * @returns {number} current time of the video
89
+ */
90
+ getCurrentTime(): number;
91
+ /**
92
+ * This function return the duration of the video.
93
+ * @returns {number} duration of the video
94
+ */
95
+ getDuration(): number;
96
+ /**
97
+ * This function seeks to a specified time in the video.
98
+ * @param {number} skipSecounds - The time to which the player should advance.
99
+ */
100
+ seekTo(skipSecounds: number): void;
101
+ /**
102
+ * This function sets the volume of the video player.
103
+ * @param {number} volume
104
+ */
105
+ setVolume(volume: number): void;
106
+ /**
107
+ * This function mutes the video player.
108
+ */
109
+ mute(): void;
110
+ /**
111
+ * This function unmutes the video player.
112
+ */
113
+ unMute(): void;
114
+ /**
115
+ * This function checks whether the video player is muted.
116
+ * @returns {boolean} true if the video player is muted, and false if not.
117
+ */
118
+ isMuted(): boolean;
119
+ /**
120
+ * This function returns the volume of the video player.
121
+ * @returns {number} volume of the video player
122
+ */
123
+ getVolume(): any;
124
+ /**
125
+ * This function returns the status of the video player.
126
+ * @returns {number} status code
127
+ */
128
+ getPlayerState(): any;
129
+ /**
130
+ * This function returns the title of the video.
131
+ * @returns {string} title of the video
132
+ */
133
+ getTitle(): any;
134
+ /**
135
+ * return duration between start and end seconds
136
+ * @returns {number} dulation of between start and end
137
+ */
138
+ getRealDulation(): number;
139
+ /**
140
+ * Load a new video into the player.With autoplay
141
+ * @param {mep_soundcloud_load_object} content
142
+ * @param {number} startSeconds
143
+ */
144
+ loadVideoById(content: mep_soundcloud_load_object | string, startSeconds: number): void;
145
+ /**
146
+ * Load a new video into the player.Without autoplay
147
+ * @param {mep_soundcloud_load_object} content
148
+ * @param {number} startSeconds
149
+ */
150
+ cueVideoById(content: mep_soundcloud_load_object | string, startSeconds: number): void;
151
+ }
152
+ //# sourceMappingURL=soundcloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soundcloud.d.ts","sourceRoot":"","sources":["../../iframe_api/soundcloud.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;AAMpB;;;;;GAKG;AAEH;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AAGH,UAAU,0BAA0B;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,yBAAyB;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,UAAU,sBAAsB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,SAAS;IACf,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,cAAM,cAAc;;IAChB,MAAM,EAAE,iBAAiB,CAAoC;IAC7D,UAAU,EAAE,yBAAyB,GAAG,SAAS,CAAC;IAClD,iBAAiB,EAAE,GAAG,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAS;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAO;IACjC,WAAW,EAAE,OAAO,CAAS;IAC7B,eAAe,EAAE,MAAM,CAAM;IAC7B,UAAU,EAAE,MAAM,CAAM;IACxB,YAAY,EAAE,OAAO,CAAS;IAC9B,QAAQ,EAAE,MAAM,CAAK;IACrB,sBAAsB,EAAE,MAAM,CAAM;IACpC,WAAW,EAAE,MAAM,CAAK;IAExB,MAAM,CAAC,qBAAqB,EAAE,OAAO,GAAG,IAAI,CAAQ;IACpD,MAAM,CAAC,sBAAsB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IACnD,MAAM,CAAC,YAAY,SAAc;gBAoBrB,iBAAiB,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI;IAgIrJ;;OAEG;IACH,SAAS;IAQT;;OAEG;IACH,UAAU;IAKV;;;OAGG;IACH,cAAc;IAGd;;;OAGG;IACH,WAAW;IAGX;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM;IAQ3B;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB;;OAEG;IACH,IAAI;IAIJ;;OAEG;IACH,MAAM;IAGN;;;OAGG;IACH,OAAO;IAGP;;;OAGG;IACH,SAAS;IAGT;;;OAGG;IACH,cAAc;IAGd;;;OAGG;IACH,QAAQ;IAGR;;;OAGG;IACH,eAAe;IAiGf;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM;IAGhF;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM;CAGlF"}
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var _mep_soundcloud_instances, _mep_soundcloud_load_soundcloud_api, _mep_soundcloud_load, _mep_soundcloud_ready_function, _mep_soundcloud_tracker, _mep_soundcloud_tracking_function, _mep_soundcloud_startTracking, _mep_soundcloud_stopTracking, _mep_soundcloud_musicLoader;
8
+ /**
9
+ * Class representing a SoundCloud player.
10
+ */
11
+ class mep_soundcloud {
12
+ constructor(replacing_element, content, player_set_event_function) {
13
+ _mep_soundcloud_instances.add(this);
14
+ this.player = document.createElement("iframe");
15
+ this.autoplay = false;
16
+ this.before_mute_volume = 100;
17
+ this.forse_pause = false;
18
+ this.first_seek_time = -1;
19
+ this.endSeconds = -1;
20
+ this.pause_sended = false;
21
+ this.interval = 0;
22
+ this.previous_player_status = -1;
23
+ this.retry_count = 0;
24
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_load).call(this, replacing_element, content, player_set_event_function);
25
+ }
26
+ /**
27
+ * This function plays the video.
28
+ */
29
+ playVideo() {
30
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_startTracking).call(this);
31
+ if (this.first_seek_time !== -1) {
32
+ this.seekTo(this.first_seek_time);
33
+ this.first_seek_time = -1;
34
+ }
35
+ this.player_widget.play();
36
+ }
37
+ /**
38
+ * This function pauses the video.
39
+ */
40
+ pauseVideo() {
41
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_stopTracking).call(this);
42
+ this.player_widget.pause();
43
+ this.forse_pause = true;
44
+ }
45
+ /**
46
+ * This function return the current time of the video.
47
+ * @returns {number} current time of the video
48
+ */
49
+ getCurrentTime() {
50
+ return this.player_statusdata.currentPosition / 1000;
51
+ }
52
+ /**
53
+ * This function return the duration of the video.
54
+ * @returns {number} duration of the video
55
+ */
56
+ getDuration() {
57
+ return this.player_metadata.duration / 1000;
58
+ }
59
+ /**
60
+ * This function seeks to a specified time in the video.
61
+ * @param {number} skipSecounds - The time to which the player should advance.
62
+ */
63
+ seekTo(skipSecounds) {
64
+ if (typeof skipSecounds === "number") {
65
+ this.player_widget.seekTo(skipSecounds * 1000);
66
+ }
67
+ else {
68
+ console.error("seekTo argument must be number");
69
+ }
70
+ }
71
+ /**
72
+ * This function sets the volume of the video player.
73
+ * @param {number} volume
74
+ */
75
+ setVolume(volume) {
76
+ this.player_widget.setVolume(volume);
77
+ this.player_statusdata.volume = volume;
78
+ }
79
+ /**
80
+ * This function mutes the video player.
81
+ */
82
+ mute() {
83
+ this.before_mute_volume = this.player_statusdata.volume;
84
+ this.setVolume(0);
85
+ }
86
+ /**
87
+ * This function unmutes the video player.
88
+ */
89
+ unMute() {
90
+ this.setVolume(this.before_mute_volume);
91
+ }
92
+ /**
93
+ * This function checks whether the video player is muted.
94
+ * @returns {boolean} true if the video player is muted, and false if not.
95
+ */
96
+ isMuted() {
97
+ return this.player_statusdata.volume === 0;
98
+ }
99
+ /**
100
+ * This function returns the volume of the video player.
101
+ * @returns {number} volume of the video player
102
+ */
103
+ getVolume() {
104
+ return this.player_statusdata.volume;
105
+ }
106
+ /**
107
+ * This function returns the status of the video player.
108
+ * @returns {number} status code
109
+ */
110
+ getPlayerState() {
111
+ return this.player_statusdata.playing_status;
112
+ }
113
+ /**
114
+ * This function returns the title of the video.
115
+ * @returns {string} title of the video
116
+ */
117
+ getTitle() {
118
+ return this.player_metadata.title;
119
+ }
120
+ /**
121
+ * return duration between start and end seconds
122
+ * @returns {number} dulation of between start and end
123
+ */
124
+ getRealDulation() {
125
+ if (this.endSeconds == -1) {
126
+ return this.getDuration() - this.first_seek_time;
127
+ }
128
+ else {
129
+ return this.endSeconds - this.first_seek_time;
130
+ }
131
+ }
132
+ /**
133
+ * Load a new video into the player.With autoplay
134
+ * @param {mep_soundcloud_load_object} content
135
+ * @param {number} startSeconds
136
+ */
137
+ loadVideoById(content, startSeconds) {
138
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_musicLoader).call(this, content, startSeconds, true);
139
+ }
140
+ /**
141
+ * Load a new video into the player.Without autoplay
142
+ * @param {mep_soundcloud_load_object} content
143
+ * @param {number} startSeconds
144
+ */
145
+ cueVideoById(content, startSeconds) {
146
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_musicLoader).call(this, content, startSeconds, false);
147
+ }
148
+ }
149
+ _mep_soundcloud_instances = new WeakSet(), _mep_soundcloud_load_soundcloud_api = async function _mep_soundcloud_load_soundcloud_api() {
150
+ if (window.mep_soundcloud.soundcloud_api_loaded === null) {
151
+ if (typeof SC !== "object") {
152
+ window.mep_soundcloud.soundcloud_api_loaded = false;
153
+ const script_document = document.createElement("script");
154
+ script_document.src = "https://w.soundcloud.com/player/api.js";
155
+ script_document.addEventListener("load", () => { window.mep_soundcloud.soundcloud_api_loaded = true; window.mep_soundcloud.soundcloud_api_promise.forEach((func) => func()); });
156
+ script_document.addEventListener("error", () => { this.player.dispatchEvent(new CustomEvent("onError", { detail: { code: 1001 } })); });
157
+ document.body.appendChild(script_document);
158
+ await new Promise((resolve, reject) => window.mep_soundcloud.soundcloud_api_promise.push(resolve));
159
+ }
160
+ else {
161
+ window.mep_soundcloud.soundcloud_api_loaded = true;
162
+ }
163
+ }
164
+ else if (window.mep_soundcloud.soundcloud_api_loaded === false) {
165
+ await new Promise((resolve, reject) => window.mep_soundcloud.soundcloud_api_promise.push(resolve));
166
+ }
167
+ }, _mep_soundcloud_load = async function _mep_soundcloud_load(replacing_element, content, player_set_event_function) {
168
+ this.player.style.border = "none";
169
+ this.player.allow = "autoplay";
170
+ if (typeof player_set_event_function === "function") {
171
+ player_set_event_function(this.player);
172
+ }
173
+ await __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_load_soundcloud_api).call(this);
174
+ let iframe_replace_node = null;
175
+ if (typeof replacing_element === "string") {
176
+ iframe_replace_node = document.getElementById(replacing_element);
177
+ }
178
+ else {
179
+ iframe_replace_node = replacing_element;
180
+ }
181
+ let url_params = new URLSearchParams();
182
+ let tflist = ["autoplay", "hide_related", "show_comments", "show_user", "show_user", "show_reposts", "visual"];
183
+ this.playerVars = content.playerVars;
184
+ this.player_statusdata = { playing_status: 1, currentPosition: 0, volume: 100 };
185
+ if (typeof content.playerVars === "object" && content.playerVars !== null) {
186
+ tflist.forEach(option => {
187
+ if (content.playerVars && typeof content.playerVars[option] === "number") {
188
+ content.playerVars[option] = content.playerVars[option].toString();
189
+ }
190
+ if (!content.playerVars || typeof content.playerVars[option] === "undefined") {
191
+ url_params.set(option, "true");
192
+ }
193
+ else if (content.playerVars[option] === "1" || content.playerVars[option] === "true") {
194
+ url_params.set(option, "true");
195
+ }
196
+ else if (content.playerVars[option] === "0" || content.playerVars[option] === "false") {
197
+ url_params.set(option, "false");
198
+ }
199
+ else {
200
+ url_params.set(option, content.playerVars[option]);
201
+ }
202
+ });
203
+ if (content.playerVars && (content.playerVars.autoplay == "true" || content.playerVars.autoplay == 1)) {
204
+ this.autoplay = true;
205
+ }
206
+ }
207
+ else {
208
+ tflist.forEach(option => { url_params.set(option, "false"); });
209
+ }
210
+ if (window.mep_soundcloud.numericRegex.test(content.videoId)) {
211
+ this.player.src = `https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/${content.videoId}&${url_params.toString()}`;
212
+ }
213
+ else {
214
+ this.player.src = `https://w.soundcloud.com/player/?url=https://soundcloud.com/${content.videoId}&${url_params.toString()}`;
215
+ }
216
+ if (iframe_replace_node) {
217
+ iframe_replace_node.replaceWith(this.player);
218
+ }
219
+ this.player_widget = SC.Widget(this.player);
220
+ this.player_metadata = {}; //renew when load new ones
221
+ this.forse_pause = !this.autoplay;
222
+ this.player_widget.bind(SC.Widget.Events.READY, () => { __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_ready_function).call(this); });
223
+ this.player_widget.bind(SC.Widget.Events.PLAY_PROGRESS, (data) => { __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_tracker).call(this, data); __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_tracking_function).call(this); });
224
+ this.player_widget.bind(SC.Widget.Events.PLAY, () => { if (this.first_seek_time !== -1) {
225
+ this.seekTo(this.first_seek_time);
226
+ this.first_seek_time = -1;
227
+ } ; this.player_statusdata.playing_status = 2; });
228
+ this.player_widget.bind(SC.Widget.Events.PAUSE, () => { this.player_statusdata.playing_status = 3; this.pause_sended = false; this.forse_pause = true; });
229
+ //this.player_widget.bind(SC.Widget.Events.SEEK,()=>this.player_statusdata.playing_status = 3);
230
+ this.player_widget.bind(SC.Widget.Events.FINISH, () => { this.player.dispatchEvent(new Event("onEndVideo")); this.player_statusdata.playing_status = 4; });
231
+ this.player_widget.bind(SC.Widget.Events.ERROR, () => this.player.dispatchEvent(new Event("onError")));
232
+ if (this.autoplay) {
233
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_startTracking).call(this);
234
+ }
235
+ this.first_seek_time = (content.playerVars && typeof content.playerVars.startSeconds === "number") ? content.playerVars.startSeconds : -1;
236
+ this.endSeconds = (content.playerVars && typeof content.playerVars.endSeconds === "number") ? content.playerVars.endSeconds : -1;
237
+ }, _mep_soundcloud_ready_function = function _mep_soundcloud_ready_function(retry = false) {
238
+ this.player.dispatchEvent(new Event("onReady"));
239
+ this.player_widget.getCurrentSound((data) => { if (data === null) {
240
+ this.player.dispatchEvent(new Event("onError"));
241
+ } ; this.player_metadata = data; });
242
+ if (this.autoplay && !this.forse_pause) {
243
+ this.playVideo();
244
+ if (retry && this.retry_count < 7) {
245
+ this.retry_count++;
246
+ setTimeout(() => { __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_ready_function).call(this, true); }, 1000);
247
+ }
248
+ }
249
+ }, _mep_soundcloud_tracker = function _mep_soundcloud_tracker(trackData) {
250
+ this.player_statusdata.currentPosition = trackData.currentPosition;
251
+ }, _mep_soundcloud_tracking_function = function _mep_soundcloud_tracking_function() {
252
+ //this.player_widget.getVolume((volume)=>{this.player_statusdata.volume = volume});
253
+ //this.player_widget.isPaused((pause_status)=>{pause_status?this.player_statusdata.playing_status = 3:this.player_statusdata.playing_status = 2});
254
+ if (this.previous_player_status !== this.player_statusdata.playing_status) {
255
+ this.previous_player_status = this.player_statusdata.playing_status;
256
+ this.player.dispatchEvent(new CustomEvent("onStateChange", { detail: this.getPlayerState() }));
257
+ }
258
+ if (this.endSeconds != -1 && this.endSeconds <= this.getCurrentTime()) {
259
+ if (!this.pause_sended) {
260
+ this.pause_sended = true;
261
+ this.pauseVideo();
262
+ this.player.dispatchEvent(new Event("onEndVideo"));
263
+ this.player_statusdata.playing_status = 4;
264
+ }
265
+ }
266
+ }, _mep_soundcloud_startTracking = function _mep_soundcloud_startTracking() {
267
+ if (this.interval === 0) {
268
+ //this.interval = setInterval(()=>{this.tracking_function()},1000);
269
+ }
270
+ }, _mep_soundcloud_stopTracking = function _mep_soundcloud_stopTracking() {
271
+ clearInterval(this.interval);
272
+ this.interval = 0;
273
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_tracking_function).call(this);
274
+ }, _mep_soundcloud_musicLoader = function _mep_soundcloud_musicLoader(content, startSeconds, autoplay) {
275
+ /*
276
+ let options = {playerVars:this.playerVars};
277
+ if(options.playerVars === undefined){
278
+ options.playerVars = {};
279
+ }
280
+ options.playerVars["autoplay"] = autoplay;
281
+ if(typeof content === "string"){
282
+ options["videoId"] = content;
283
+ }
284
+ else if (typeof content === "object"){
285
+ options["videoId"] = content["videoId"];
286
+ if(typeof startSeconds === "number"){
287
+ options["start"] = startSeconds;
288
+ }
289
+ else if(typeof content["startSeconds"] === "number"){
290
+ options["start"] = content["startSeconds"];
291
+ }
292
+ if(typeof content["endSeconds"] === "number"){
293
+ options["end"] = content["endSeconds"];
294
+ }
295
+ }
296
+ const tmp_replace_element = document.createElement("div");
297
+ tmp_replace_element.replaceWith(this.player);
298
+ this.load(tmp_replace_element,options);
299
+ */
300
+ let url_params = { set(op, val) { this[op] = val; } };
301
+ let tflist = ["hide_related", "show_comments", "show_user", "show_user", "show_reposts", "visual"];
302
+ if (this.playerVars && typeof this.playerVars === "object") {
303
+ tflist.forEach(option => {
304
+ if (this.playerVars && typeof this.playerVars[option] === "string" && this.playerVars[option] === "true") {
305
+ url_params.set(option, "true");
306
+ }
307
+ else {
308
+ url_params.set(option, "false");
309
+ }
310
+ });
311
+ }
312
+ else {
313
+ tflist.forEach(option => { url_params.set(option, "false"); });
314
+ }
315
+ url_params.set("autoplay", autoplay ? "true" : "false");
316
+ this.autoplay = autoplay;
317
+ let musicId = "";
318
+ if (typeof content === "object") {
319
+ musicId = content.videoId;
320
+ if (typeof content.startSeconds == "number" && !Number.isNaN(content.startSeconds)) {
321
+ this.first_seek_time = content.startSeconds;
322
+ }
323
+ else {
324
+ this.first_seek_time = -1;
325
+ }
326
+ if (typeof content.endSeconds == "number" && !Number.isNaN(content.endSeconds)) {
327
+ this.endSeconds = content.endSeconds;
328
+ }
329
+ else {
330
+ this.endSeconds = -1;
331
+ }
332
+ }
333
+ else if (typeof content === "string") {
334
+ musicId = content;
335
+ if (typeof startSeconds === "number" && !Number.isNaN(startSeconds)) {
336
+ this.first_seek_time = startSeconds;
337
+ }
338
+ else {
339
+ this.first_seek_time = -1;
340
+ }
341
+ this.endSeconds = -1;
342
+ }
343
+ else {
344
+ this.player.dispatchEvent(new CustomEvent("onError", { detail: { code: 401 } }));
345
+ }
346
+ if (window.mep_soundcloud.numericRegex.test(musicId)) {
347
+ this.player_widget.load(`https://api.soundcloud.com/tracks/${String(musicId)}`, url_params, __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_ready_function));
348
+ }
349
+ else {
350
+ this.player_widget.load(`https://soundcloud.com/${String(musicId)}`, url_params, __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_ready_function));
351
+ }
352
+ this.retry_count = 0;
353
+ this.forse_pause = false;
354
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_ready_function).call(this, true);
355
+ };
356
+ mep_soundcloud.soundcloud_api_loaded = null;
357
+ mep_soundcloud.soundcloud_api_promise = [];
358
+ mep_soundcloud.numericRegex = /^[0-9]+$/;
359
+ window.mep_soundcloud = mep_soundcloud;
360
+ //# sourceMappingURL=soundcloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soundcloud.js","sourceRoot":"","sources":["../../iframe_api/soundcloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ declare var YT: any;
2
+ interface MepYoutubeLoadObject {
3
+ videoId: string;
4
+ startSeconds?: number;
5
+ endSeconds?: number;
6
+ }
7
+ interface MepYoutubePlayerVars {
8
+ autoplay?: number;
9
+ startSeconds?: number;
10
+ endSeconds?: number;
11
+ }
12
+ interface MepYoutubeContent {
13
+ videoId: string;
14
+ playerVars?: MepYoutubePlayerVars;
15
+ width?: number;
16
+ height?: number;
17
+ }
18
+ /**
19
+ * Class representing a YouTube player.
20
+ */
21
+ declare class mep_youtube {
22
+ #private;
23
+ static youtube_api_loaded: number;
24
+ static youtube_api_promise: (() => void)[];
25
+ player: HTMLElement;
26
+ autoplay: number;
27
+ startSeconds: number;
28
+ endSeconds: number;
29
+ el: HTMLElement;
30
+ YT_player: any;
31
+ /**
32
+ * Create a new YouTube player instance.
33
+ */
34
+ constructor(replacing_element: string | HTMLElement, content: MepYoutubeContent, player_set_event_function?: (player: HTMLElement) => void);
35
+ /**
36
+ * Play the video.
37
+ */
38
+ playVideo(): void;
39
+ /**
40
+ * Pause the video.
41
+ */
42
+ pauseVideo(): void;
43
+ /**
44
+ * Get the current time of the video.
45
+ */
46
+ getCurrentTime(): number;
47
+ /**
48
+ * Get the duration of the video.
49
+ */
50
+ getDuration(): number;
51
+ /**
52
+ * Get the actual duration between the start and end times.
53
+ */
54
+ getRealDulation(): number;
55
+ /**
56
+ * Seek to a specific time in the video.
57
+ */
58
+ seekTo(time: number): void;
59
+ /**
60
+ * Set the volume of the player.
61
+ */
62
+ setVolume(volume: number): void;
63
+ /**
64
+ * Mute the player.
65
+ */
66
+ mute(): void;
67
+ /**
68
+ * Unmute the player.
69
+ */
70
+ unMute(): void;
71
+ /**
72
+ * Check if the player is muted.
73
+ */
74
+ isMuted(): boolean;
75
+ /**
76
+ * Get the current volume of the player.
77
+ */
78
+ getVolume(): number;
79
+ /**
80
+ * Get the current state of the player.
81
+ */
82
+ getPlayerState(): number;
83
+ /**
84
+ * Get the title of the currently loaded video.
85
+ */
86
+ getTitle(): string;
87
+ /**
88
+ * Load a new video by ID.
89
+ */
90
+ loadVideoById(content: MepYoutubeLoadObject | string, startSeconds?: number): void;
91
+ /**
92
+ * Cue a new video by ID.
93
+ */
94
+ cueVideoById(content: MepYoutubeLoadObject | string, startSeconds?: number): void;
95
+ }
96
+ //# sourceMappingURL=youtube.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../iframe_api/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC;AAMpB,UAAU,oBAAoB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,oBAAoB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,iBAAiB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,cAAM,WAAW;;IACb,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAK;IACtC,MAAM,CAAC,mBAAmB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAEhD,MAAM,EAAE,WAAW,CAAiC;IACpD,QAAQ,EAAE,MAAM,CAAK;IACrB,YAAY,EAAE,MAAM,CAAK;IACzB,UAAU,EAAE,MAAM,CAAM;IACxB,EAAE,EAAE,WAAW,CAAiC;IAChD,SAAS,EAAE,GAAG,CAAC;IAyBf;;OAEG;gBACS,iBAAiB,EAAE,MAAM,GAAG,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI;IAgFzI;;MAEE;IACH,SAAS;IAIT;;OAEG;IACH,UAAU;IAIV;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,eAAe,IAAI,MAAM;IASzB;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa1B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS/B;;OAEG;IACH,IAAI;IAIH;;MAEE;IACH,MAAM;IAIN;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,cAAc,IAAI,MAAM;IAuBxB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IASlF;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;CAoBpF"}