Skip to content

Commit f4daf82

Browse files
committed
Add methods to toggle repeat and shuffle
1 parent afc8b03 commit f4daf82

File tree

6 files changed

+43
-0
lines changed

6 files changed

+43
-0
lines changed

packages/webamp-docs/docs/06_API/02_webamp-constructor.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ const webamp = new Webamp({
239239

240240
### `enableMediaSession`
241241

242+
**Since** 2.1.3
243+
242244
Have Webamp connect to the browser's [Media Session
243245
API](https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API), if the browser supports it.
244246
**Default:** `false`.

packages/webamp-docs/docs/06_API/03_instance-methods.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,16 @@ if (webamp.isShuffleEnabled()) {
180180
}
181181
```
182182

183+
### `toggleShuffle(): void`
184+
185+
Toggle shuffle mode between enabled and disabled.
186+
187+
**Since** 2.1.3
188+
189+
```ts
190+
webamp.toggleShuffle();
191+
```
192+
183193
### `isRepeatEnabled(): boolean`
184194

185195
Check if repeat is enabled.
@@ -192,6 +202,16 @@ if (webamp.isRepeatEnabled()) {
192202
}
193203
```
194204

205+
### `toggleRepeat(): void`
206+
207+
Toggle repeat mode between enabled and disabled.
208+
209+
**Since** 2.1.3
210+
211+
```ts
212+
webamp.toggleRepeat();
213+
```
214+
195215
### `renderWhenReady(domNode: HTMLElement): Promise<void>`
196216

197217
Webamp will wait until it has fetched the skin and fully parsed it, and then render itself into a new DOM node at the end of the `<body>` tag.

packages/webamp-docs/docs/API/01_track.md

Whitespace-only changes.

packages/webamp-docs/docs/API/03_instance-methods.md

Whitespace-only changes.

packages/webamp/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
### Improvements
44

5+
## 2.1.3 [UPCOMING]
6+
7+
### Improvements
8+
9+
- Added new `Webamp` instance methods:
10+
- `webamp.toggleShuffle`
11+
- `webamp.toggleRepeat`
512
- Add new config option `enableMediaSession` to allow Webamp to connect to the browser's Media Session API. This enables OS/hardware level media controls like play/pause/next/previous.
613

714
## 2.1.2 [CURRENT]

packages/webamp/js/webampLazy.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,13 +263,27 @@ class Webamp {
263263
return Selectors.getShuffle(this.store.getState());
264264
}
265265

266+
/**
267+
* Toggle shuffle mode between enabled and disabled.
268+
*/
269+
toggleShuffle(): void {
270+
this.store.dispatch(Actions.toggleShuffle());
271+
}
272+
266273
/**
267274
* Check if repeat is enabled
268275
*/
269276
isRepeatEnabled(): boolean {
270277
return Selectors.getRepeat(this.store.getState());
271278
}
272279

280+
/**
281+
* Toggle repeat mode between enabled and disabled.
282+
*/
283+
toggleRepeat(): void {
284+
this.store.dispatch(Actions.toggleRepeat());
285+
}
286+
273287
/**
274288
* Play the next track
275289
*/

0 commit comments

Comments
 (0)