orontee / argos

Light weight front-end for Mopidy music server
GNU General Public License v3.0
19 stars 4 forks source link

Can have volume control? #145

Closed v-evets closed 11 months ago

v-evets commented 12 months ago

Ho, this app looks pretty tasty, exactly what I've been looking for to replace a nasty web browser on my repurposed ancient industrial touchscreen setup... The only thing really missing is a touch-friendly volume /mixer control. Kinda scratching my head as to why it doesn't already have one already since that seems kinda obvious, but anyhow, wishlist item? Pretty Please?

orontee commented 12 months ago

Ho, this app looks pretty tasty, exactly what I've been looking for to replace a nasty web browser on my repurposed ancient industrial touchscreen setup...

Cool!

The only thing really missing is a touch-friendly volume /mixer control. Kinda scratching my head as to why it doesn't already have one already since that seems kinda obvious, but anyhow, wishlist item? Pretty Please?

It has one. Maybe not as friendly as you wish... It is on the bottom right, in what we call the "condensed playing box". See:

Capture d’écran du 2023-07-11 14-56-26 (annotée)

If the volume button is hidden from your Argos instance, it means that there's no mixer enabled on Mopidy server side. To enable a mixer, you can for example tweak Mopidy configuration to have the following lines, then restart Mopidy service and Argos UI should update automatically:

[audio]
mixer = software
...

[softwaremixer]
enabled = true

Let me know if it match your expectations.

v-evets commented 12 months ago

So it does, I completely missed it as I was looking on the "playing" tab, but it only appears in the miniplayer on the library tab. Any chance of adding one to the "playing" screen as well? Maybe a bit bigger (i.e. longer slider) too?

Couple other probably-unique-to-my-weird-setup niggles:

Other than that, this is pretty sweet. Saves me ~400MB of RAM on the old POS (in both senses) machine I'm using to run it too :D

kingosticks commented 12 months ago

Are you able to use Mopidy-AlsaMixer? It has min_volume and max_volume config settings which allow you to remap the volume range for situations like this. Otherwise perhaps you can do something in Pulseuaudio (or whatever you are using), you can't solve this issue on the frontend.

v-evets commented 12 months ago

I'm already using mopidy-alsamixer, the issue isn't that the volume range is too wide (I actually need the full range), it's that the slider is too short for my fat fingers and low-accuracy resistive "prod" panel to make small adjustments. The buttons don't help here, as they appear to be using the same step size as a scrollwheel click and that's huge - somewhere around 20% per.

The volume slider in mopidy-mobile is fine in this situation as it uses the full screen width, and so are clients with volume up and volume down buttons with a step size setting - an example being the MALP MPD client on android. If I plug in a mouse I can (carefully) drag the slider in argo accurately enough too, with the hardware mixer responding as expected, so it's not a mixer problem.

kingosticks commented 12 months ago

Oh I see! Sorry, I misunderstood.

orontee commented 12 months ago

Let's

orontee commented 12 months ago

A way to skip to a track on the playing/tracklist view other than double-clicking (which is a PITA on a resistive panel) would be very welcome.

Why not use the "previous" and "next" button on the left side of the "playing box"?

A setting to use long-press instead of double-click globally would be ideal IMO, but I haven't looked into how feasible that would be or whether it's something I can hack around with at the xorg/evdev level.

I'll have a look whether it's feasible with GTK3. No idea right now.

Would you mind opening a dedicated issue for this?

orontee commented 12 months ago

@v-evets Can you check branch https://github.com/orontee/argos/tree/145-can-have-volume-control?

The "playing box" has a volume button in its left pane.

The page step of volume buttons has been divided by 10, so clicking on plus and minus buttons steps through 50 different volumes.

Appearance of volume buttons can be tweaked using CSS:

#condensed-playing-box-volume-button,
#playing-box-volume-button {
     min-width: 60px;
     min-height: 40px;
     border-color: red;
     border-width: 10px;
}

image

v-evets commented 12 months ago

Yep, that's most excellent. Works out very close to the volume step I'm using with MPD clients.