tomasklaen / uosc

Feature-rich minimalist proximity-based UI for MPV player.
GNU Lesser General Public License v2.1
1.87k stars 68 forks source link

Multi-Audio Track Selection #919

Closed Buliway closed 5 months ago

Buliway commented 5 months ago

I'm not fluent in English, so here's a rough translation below:

This fork adds the ability to select multiple audio tracks simultaneously during video playback. This feature allows users to mix and play more than one audio track at the same time, providing a more flexible and enhanced viewing experience.

How It Works

  1. Selecting Multiple Audio Tracks:

    • While viewing a video, you can now select multiple audio tracks by clicking on the desired tracks in the audio track selection menu.
    • Selected audio tracks will be mixed and played together.
  2. Deselecting Audio Tracks:

    • To deselect an audio track, simply click on it again in the selection menu.
    • If only one audio track is selected and you deselect it, audio playback will be muted.
  3. Selecting a Single Audio Track with Ctrl:

    • If you want to select only one specific audio track, regardless of the currently selected tracks, hold the Ctrl key and click on the desired track.
    • This action will disable all other audio tracks and activate only the selected one.

Example Scenarios

Implementation Details

This enhancement provides a more customizable and enjoyable media playback experience by allowing users to easily manage and mix multiple audio tracks during video playback

hooke007 commented 5 months ago

lavfi-complex is not only used for aid. If possible the use case in this PR should be implemented in the independent script by uosc's menu api.

tomasklaen commented 5 months ago

This is too niche. You should make it a separate plugin and use uosc menu API.

tomasklaen commented 5 months ago

Learning how to make it a separate script would be easier to maintain (there are examples how to implement menu interface in uosc readme), but nothing is stopping you from still using your fork.