multi_embed_player 3.0.1 → 3.1.1

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.
@@ -1,188 +1,360 @@
1
- import { PlayerState } from '../types';
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;
2
8
  /**
3
9
  * Class representing a SoundCloud player.
4
10
  */
5
- export class mep_soundcloud {
6
- /**
7
- * Load SoundCloud Widget API asynchronously.
8
- */
9
- async load_soundcloud_api() {
10
- return new Promise((resolve) => {
11
- if (mep_soundcloud.soundcloud_api_loaded === 0) {
12
- mep_soundcloud.soundcloud_api_loaded = 1;
13
- const script = document.createElement("script");
14
- script.src = "https://w.soundcloud.com/player/api.js";
15
- script.addEventListener("load", () => {
16
- mep_soundcloud.soundcloud_api_promise.forEach(func => func());
17
- mep_soundcloud.soundcloud_api_loaded = 2;
18
- resolve();
19
- });
20
- document.body.appendChild(script);
21
- }
22
- else if (mep_soundcloud.soundcloud_api_loaded === 1) {
23
- mep_soundcloud.soundcloud_api_promise.push(resolve);
24
- }
25
- else {
26
- resolve();
27
- }
28
- });
29
- }
11
+ class mep_soundcloud {
30
12
  constructor(replacing_element, content, player_set_event_function) {
31
- this.autoplay = 0;
32
- this.startSeconds = 0;
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;
33
19
  this.endSeconds = -1;
34
- this.playerState = PlayerState.UNSTARTED;
35
- this.currentTime = 0;
36
- this.duration = 0;
37
- this.volume = 100;
38
- this.muted = false;
39
- this.load(replacing_element, content, player_set_event_function);
40
- }
41
- async load(replacing_element, content, player_set_event_function) {
42
- this.player = document.createElement("div");
43
- if (typeof player_set_event_function === "function") {
44
- player_set_event_function();
45
- }
46
- await this.load_soundcloud_api();
47
- let iframe_replace_node;
48
- if (typeof replacing_element === "string") {
49
- const element = document.getElementById(replacing_element);
50
- if (!element) {
51
- throw new Error(`Element with id "${replacing_element}" not found`);
52
- }
53
- iframe_replace_node = element;
54
- }
55
- else {
56
- iframe_replace_node = replacing_element;
57
- }
58
- const playerVars = content.playerVars || {};
59
- this.autoplay = playerVars.autoplay || 0;
60
- this.startSeconds = playerVars.startSeconds || 0;
61
- this.endSeconds = playerVars.endSeconds || -1;
62
- // Create iframe
63
- this.iframe = document.createElement("iframe");
64
- this.iframe.width = String(content.width || 560);
65
- this.iframe.height = String(content.height || 315);
66
- this.iframe.allow = "autoplay";
67
- this.iframe.src = `https://w.soundcloud.com/player/?url=https://soundcloud.com/${content.videoId}&auto_play=${this.autoplay}&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true`;
68
- iframe_replace_node.replaceWith(this.iframe);
69
- // Initialize widget
70
- this.widget = window.SC.Widget(this.iframe);
71
- this.setup_event_listeners();
72
- }
73
- setup_event_listeners() {
74
- this.widget.bind('ready', () => {
75
- this.player.dispatchEvent(new Event("onReady"));
76
- });
77
- this.widget.bind('play', () => {
78
- this.playerState = PlayerState.PLAYING;
79
- this.player.dispatchEvent(new CustomEvent("onStateChange", { detail: this.playerState }));
80
- });
81
- this.widget.bind('pause', () => {
82
- this.playerState = PlayerState.PAUSED;
83
- this.player.dispatchEvent(new CustomEvent("onStateChange", { detail: this.playerState }));
84
- });
85
- this.widget.bind('finish', () => {
86
- this.playerState = PlayerState.ENDED;
87
- this.player.dispatchEvent(new Event("onEndVideo"));
88
- });
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);
89
25
  }
90
- // IPlayer interface implementation
26
+ /**
27
+ * This function plays the video.
28
+ */
91
29
  playVideo() {
92
- this.widget.play();
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();
93
36
  }
37
+ /**
38
+ * This function pauses the video.
39
+ */
94
40
  pauseVideo() {
95
- this.widget.pause();
41
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_stopTracking).call(this);
42
+ this.player_widget.pause();
43
+ this.forse_pause = true;
96
44
  }
45
+ /**
46
+ * This function return the current time of the video.
47
+ * @returns {number} current time of the video
48
+ */
97
49
  getCurrentTime() {
98
- return new Promise((resolve) => {
99
- this.widget.getPosition((position) => {
100
- resolve(position / 1000); // Convert to seconds
101
- });
102
- });
50
+ return this.player_statusdata.currentPosition / 1000;
103
51
  }
52
+ /**
53
+ * This function return the duration of the video.
54
+ * @returns {number} duration of the video
55
+ */
104
56
  getDuration() {
105
- return new Promise((resolve) => {
106
- this.widget.getDuration((duration) => {
107
- resolve(duration / 1000); // Convert to seconds
108
- });
109
- });
57
+ return this.player_metadata.duration / 1000;
110
58
  }
111
- async seekTo(time) {
112
- const num_time = Number(time);
113
- if (isNaN(num_time) || num_time < 0) {
114
- console.error("Invalid time value");
115
- return;
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);
116
66
  }
117
- this.widget.seekTo((this.startSeconds + num_time) * 1000); // Convert to milliseconds
118
- }
119
- setVolume(volume) {
120
- const num_volume = Number(volume);
121
- if (isNaN(num_volume) || num_volume < 0 || num_volume > 100) {
122
- console.error("Invalid volume value");
123
- return;
67
+ else {
68
+ console.error("seekTo argument must be number");
124
69
  }
125
- this.widget.setVolume(num_volume / 100); // SoundCloud expects 0-1 range
126
- this.volume = num_volume;
127
70
  }
128
- getVolume() {
129
- return new Promise((resolve) => {
130
- this.widget.getVolume((volume) => {
131
- resolve(volume * 100); // Convert to 0-100 range
132
- });
133
- });
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;
134
78
  }
79
+ /**
80
+ * This function mutes the video player.
81
+ */
135
82
  mute() {
136
- this.widget.setVolume(0);
137
- this.muted = true;
83
+ this.before_mute_volume = this.player_statusdata.volume;
84
+ this.setVolume(0);
138
85
  }
86
+ /**
87
+ * This function unmutes the video player.
88
+ */
139
89
  unMute() {
140
- this.widget.setVolume(this.volume / 100);
141
- this.muted = false;
90
+ this.setVolume(this.before_mute_volume);
142
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
+ */
143
96
  isMuted() {
144
- return Promise.resolve(this.muted);
97
+ return this.player_statusdata.volume === 0;
145
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
+ */
146
110
  getPlayerState() {
147
- return Promise.resolve(this.playerState);
111
+ return this.player_statusdata.playing_status;
148
112
  }
149
113
  /**
150
- * Get real duration between start and end times.
114
+ * This function returns the title of the video.
115
+ * @returns {string} title of the video
151
116
  */
152
- async getRealDulation() {
153
- const duration = await this.getDuration();
154
- if (this.endSeconds === -1) {
155
- return duration - this.startSeconds;
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;
156
127
  }
157
128
  else {
158
- return this.endSeconds - this.startSeconds;
129
+ return this.endSeconds - this.first_seek_time;
159
130
  }
160
131
  }
161
132
  /**
162
- * Load track by ID.
133
+ * Load a new video into the player.With autoplay
134
+ * @param {mep_soundcloud_load_object} content
135
+ * @param {number} startSeconds
163
136
  */
164
- loadVideoById(content) {
165
- const url = `https://soundcloud.com/${content.videoId}`;
166
- this.widget.load(url, {
167
- auto_play: this.autoplay === 1,
168
- callback: () => {
169
- this.player.dispatchEvent(new Event("onReady"));
170
- }
171
- });
137
+ loadVideoById(content, startSeconds) {
138
+ __classPrivateFieldGet(this, _mep_soundcloud_instances, "m", _mep_soundcloud_musicLoader).call(this, content, startSeconds, true);
172
139
  }
173
140
  /**
174
- * Cue track by ID.
141
+ * Load a new video into the player.Without autoplay
142
+ * @param {mep_soundcloud_load_object} content
143
+ * @param {number} startSeconds
175
144
  */
176
- cueVideoById(content) {
177
- const url = `https://soundcloud.com/${content.videoId}`;
178
- this.widget.load(url, {
179
- auto_play: false,
180
- callback: () => {
181
- this.player.dispatchEvent(new Event("onReady"));
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]);
182
201
  }
183
202
  });
203
+ if (content.playerVars && (content.playerVars.autoplay == "true" || content.playerVars.autoplay == 1)) {
204
+ this.autoplay = true;
205
+ }
184
206
  }
185
- }
186
- mep_soundcloud.soundcloud_api_loaded = 0;
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;
187
357
  mep_soundcloud.soundcloud_api_promise = [];
358
+ mep_soundcloud.numericRegex = /^[0-9]+$/;
359
+ window.mep_soundcloud = mep_soundcloud;
188
360
  //# sourceMappingURL=soundcloud.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"soundcloud.js","sourceRoot":"","sources":["../../iframe_api/soundcloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoD,WAAW,EAAgB,MAAM,UAAU,CAAC;AAiCvG;;GAEG;AACH,MAAM,OAAO,cAAc;IAgBzB;;OAEG;IACK,KAAK,CAAC,mBAAmB;QAC/B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,cAAc,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;gBAC/C,cAAc,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,GAAG,GAAG,wCAAwC,CAAC;gBACtD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBACnC,cAAc,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9D,cAAc,CAAC,qBAAqB,GAAG,CAAC,CAAC;oBACzC,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,cAAc,CAAC,qBAAqB,KAAK,CAAC,EAAE,CAAC;gBACtD,cAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YACE,iBAAuC,EACvC,OAA0B,EAC1B,yBAAwC;QAnClC,aAAQ,GAAW,CAAC,CAAC;QACrB,iBAAY,GAAW,CAAC,CAAC;QACzB,eAAU,GAAW,CAAC,CAAC,CAAC;QACxB,gBAAW,GAAgB,WAAW,CAAC,SAAS,CAAC;QACjD,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,WAAM,GAAW,GAAG,CAAC;QACrB,UAAK,GAAY,KAAK,CAAC;QA8B7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,IAAI,CAChB,iBAAuC,EACvC,OAA0B,EAC1B,yBAAwC;QAExC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,OAAO,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACpD,yBAAyB,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjC,IAAI,mBAAgC,CAAC;QACrC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,iBAAiB,aAAa,CAAC,CAAC;YACtE,CAAC;YACD,mBAAmB,GAAG,OAAO,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,mBAAmB,GAAG,iBAAiB,CAAC;QAC1C,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;QAE9C,gBAAgB;QAChB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,+DAA+D,OAAO,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,uGAAuG,CAAC;QAEnO,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE7C,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB;YACjD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,0BAA0B;IACvF,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,+BAA+B;QACxE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/B,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,yBAAyB;YAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,cAAc;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAA0B;QACtC,MAAM,GAAG,GAAG,0BAA0B,OAAO,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,SAAS,EAAE,IAAI,CAAC,QAAQ,KAAK,CAAC;YAC9B,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAA0B;QACrC,MAAM,GAAG,GAAG,0BAA0B,OAAO,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAClD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;;AAvNc,oCAAqB,GAAW,CAAC,AAAZ,CAAa;AAClC,qCAAsB,GAAsB,EAAE,AAAxB,CAAyB"}
1
+ {"version":3,"file":"soundcloud.js","sourceRoot":"","sources":["../../iframe_api/soundcloud.ts"],"names":[],"mappings":"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"}