Skip to content

Comments

Add UI to select playback speed#1476

Open
andykelk wants to merge 6 commits intomusic-assistant:mainfrom
andykelk:feature/playback-speed
Open

Add UI to select playback speed#1476
andykelk wants to merge 6 commits intomusic-assistant:mainfrom
andykelk:feature/playback-speed

Conversation

@andykelk
Copy link

Add a UI component PlaybackSpeedBtn which appears on the full player screen. This brings up a menu of different speeds which is then passed back to the server. Requires that the server handles player_queues/set_playback_speed.

PlaybackSpeedBtn.vue reads playerQueue.extra_attributes.playback_speed and calls the new API command on selection. The button highlights when speed ≠ 1×.

Related: https://github.com/orgs/music-assistant/discussions/3790

screenshot_20260220_123350 screenshot_20260220_123330

Add a UI component "PlaybackSpeedBtn" which appears on the full player
screen. This brings up a menu of different speeds which is then passed
back to the server. Requires that the server handles
player_queues/set_playback_speed.
The speed menu had a hardcoded colour which clashed (or was invisible)
depending on the dynamic background. Use the slider colour instead.
Add a UI component "PlaybackSpeedBtn" which appears on the full player
screen. This brings up a menu of different speeds which is then passed
back to the server. Requires that the server handles
player_queues/set_playback_speed.
The speed menu had a hardcoded colour which clashed (or was invisible)
depending on the dynamic background. Use the slider colour instead.
@marcelveldt
Copy link
Member

Since this is a rather advanced setting and the amount of buttons is already overwhelming, could we consider adding it to the contextmeny instead ?

@stvncode what do you think ?

@andykelk
Copy link
Author

Since this is a rather advanced setting and the amount of buttons is already overwhelming, could we consider adding it to the contextmeny instead ?

@stvncode what do you think ?

An alternative would be to dynamically display for speech content (audiobooks, podcast, podcast episode) only.

i.e. always have it in the context menu, but promote it to the main display if a speech item is playing.

image image

Ensure playback speed is always available from the context menu. If the
current item is speech content (audiobook, podcast) then also retain the
shortcut on the full screen player view.
@stvncode
Copy link
Contributor

@marcelveldt, totally agree on the position. We have too much buttons for now (and this page will be refacto soon as well). We should add it into the context menu for now and later, if design people find a way too show it in a better place, will do 👍

@marcelveldt
Copy link
Member

I also had to make changes to the backend implementation for this as it caused some issues.

The filter was applied to the wrong section of the code.
Instead it will now be applied to a queue item only.

});

const currentSpeed = computed<number>(() => {
const speed = props.playerQueue?.extra_attributes?.playback_speed;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so the playback_speed will now be set on the (current) queue item instead and not at queue level

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See here for details:
music-assistant/server@90f369d

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants