Add methods to toggle repeat and shuffle

This commit is contained in:
Jordan Eldredge 2025-06-25 15:22:20 -07:00
parent afc8b038c8
commit f4daf821c8
6 changed files with 43 additions and 0 deletions

View file

@ -239,6 +239,8 @@ const webamp = new Webamp({
### `enableMediaSession`
**Since** 2.1.3
Have Webamp connect to the browser's [Media Session
API](https://developer.mozilla.org/en-US/docs/Web/API/Media_Session_API), if the browser supports it.
**Default:** `false`.

View file

@ -180,6 +180,16 @@ if (webamp.isShuffleEnabled()) {
}
```
### `toggleShuffle(): void`
Toggle shuffle mode between enabled and disabled.
**Since** 2.1.3
```ts
webamp.toggleShuffle();
```
### `isRepeatEnabled(): boolean`
Check if repeat is enabled.
@ -192,6 +202,16 @@ if (webamp.isRepeatEnabled()) {
}
```
### `toggleRepeat(): void`
Toggle repeat mode between enabled and disabled.
**Since** 2.1.3
```ts
webamp.toggleRepeat();
```
### `renderWhenReady(domNode: HTMLElement): Promise<void>`
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.

View file

@ -2,6 +2,13 @@
### Improvements
## 2.1.3 [UPCOMING]
### Improvements
- Added new `Webamp` instance methods:
- `webamp.toggleShuffle`
- `webamp.toggleRepeat`
- 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.
## 2.1.2 [CURRENT]

View file

@ -263,6 +263,13 @@ class Webamp {
return Selectors.getShuffle(this.store.getState());
}
/**
* Toggle shuffle mode between enabled and disabled.
*/
toggleShuffle(): void {
this.store.dispatch(Actions.toggleShuffle());
}
/**
* Check if repeat is enabled
*/
@ -270,6 +277,13 @@ class Webamp {
return Selectors.getRepeat(this.store.getState());
}
/**
* Toggle repeat mode between enabled and disabled.
*/
toggleRepeat(): void {
this.store.dispatch(Actions.toggleRepeat());
}
/**
* Play the next track
*/