Home of the Squeezebox™ & Transporter® network music players.
Page 3 of 7 FirstFirst 12345 ... LastLast
Results 21 to 30 of 64

Thread: Balance

  1. #21
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,934
    BTW, I chose to require the player to indicate that it supports the balance option when it connects to LMS, because I did not want the balance option to appear on the UI when it is not supported (although it will not do any damage)

    I can also easily change LMS so that certain type of players are forced to have the balance option even if they do not explicitly mention it. Let me know.
    LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

  2. #22
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,834
    Quote Originally Posted by philippe_44 View Post
    BTW, I chose to require the player to indicate that it supports the balance option when it connects to LMS, because I did not want the balance option to appear on the UI when it is not supported (although it will not do any damage)

    I can also easily change LMS so that certain type of players are forced to have the balance option even if they do not explicitly mention it. Let me know.
    I think forcing the jive based players defeats the point of having the capability at all.
    My next squeezeplay builds will have it enabled as will the next community firmware release.

    IMHO of the controller, radio and touch, only the touch and maybe the radio if using line out would even need the balance option.

    For the ip3k based players, if the balance feature works with them, then the option should be enabled, since we'll never be able to add the cap to their firmware.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  3. #23
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,934
    Quote Originally Posted by ralphy View Post
    I think forcing the jive based players defeats the point of having the capability at all.
    My next squeezeplay builds will have it enabled as will the next community firmware release.

    IMHO of the controller, radio and touch, only the touch and maybe the radio if using line out would even need the balance option.

    For the ip3k based players, if the balance feature works with them, then the option should be enabled, since we'll never be able to add the cap to their firmware.
    Regarding ip3k, I've tried a Boom and balance is not working. I've not tried a duet, I'll do that later today.
    For Touch, I was offering to detect explicitly the Touch and force balance then, not on all Jive based players.
    But again, I don't have a strong opinion
    LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

  4. #24
    Senior Member
    Join Date
    May 2006
    Location
    Silicon Valley
    Posts
    644
    Thank you Phiiippe and Ralphy.

    I logged into my SBT using ssh and edited, (using the Busybox vi,) the file /usr/share/jive/jive/net/SlimProto.lua, added the line, obj:capability("Balance", 1)
    after the if block for hasDigitalOut, rebooted, checked the SBT player audio settings using the material UI, and the Balance feature was present! I set it to 12, which I think is a shift of 6 dB - not sure.

    I suspect most Touch, (and Transporter users, if it works there too,) would be hesitant to make this change to their player themselves, fearing they might brick their device, so for devices where it is known to work that are detected, I would recommend enabling the balance feature automatically. I am going to log into my 85 year-old mother's SBT, and add the capability for her
    Living Room: SB Touch + DIY PSU > CI Audio VDA.2 DAC + VAC.1 PSU > VRX.1 cables > Emotiva XSP-1 Gen 2 preamp + XPA-DR2 amp > Blue Jeans cables > B&W 804 speakers
    Laptop: System76 Galago + Ubuntu 16.04 + Squeezelite + Vivaldi/Material Skin > Emotiva Little Ego DAC > Grado PS500 headphones
    Bedroom: RPi Zero W + Squeezelite > miniBOSS DAC HAT > Bose SoundLink Revolve
    Phone: Pixel 3a + SB Player + Material APK > Senn IE80 earbuds
    Server: Puget Systems Serenity + Ubuntu 18.04 + LMS 8.2

  5. #25
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,834
    Quote Originally Posted by philippe_44 View Post
    For Touch, I was offering to detect explicitly the Touch and force balance then, not on all Jive based players.
    But again, I don't have a strong opinion
    That's probably a good option as that would remove the need to create a patch installer package to enable it on a Touch with stock firmware.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  6. #26
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,934
    Duet has balance, so I need to detect model and apply as balance accordingly. Can somebody edit Slim/Player/Client.pm and change hasBalance{0} by hasBalance{1} to try with a transporter?
    LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

  7. #27
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    6,934
    Quote Originally Posted by ralphy View Post
    That's probably a good option as that would remove the need to create a patch installer package to enable it on a Touch with stock firmware.
    Good, so per my previous message, I have a PR ready for

    - duet (model:receiver) => balance
    - controller (model:controller) => balance
    - touch (model:fab4) => balance
    - radio (model:baby) => balance (works with headsets)
    - other squeezeplay : if capabilities include "Balance=1" => balance

    [edit]: One thing I'm not sure of is if there is a way to detect that the headset is plugged on a Radio. That would allow me to hide balance in the UI and not set gainL/R for volume when it is not connected, but I've not been able to easily find out if this is possible.
    Last edited by philippe_44; 2021-02-28 at 14:23.
    LMS 8.1.x on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

  8. #28
    Senior Member wt0's Avatar
    Join Date
    Jul 2008
    Posts
    734
    I think the server side implementation of balance for SqueezePlay players is broken. When I added "Balance=1" to SB Player's HELO string, the balance slider shows up in Player -> Audio. However when I adjust the slider, the gainL/gainR values SB Player gets for the channel that should be lowered changes from a 16.16 fixed point value between 0 and 1.0, to between 0 and 24.
    --------------
    Squeezebox apps for webOS, Android and Windows Phone, http://www.angrygoatapps.com

  9. #29
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,834
    Quote Originally Posted by wt0 View Post
    I think the server side implementation of balance for SqueezePlay players is broken. When I added "Balance=1" to SB Player's HELO string, the balance slider shows up in Player -> Audio. However when I adjust the slider, the gainL/gainR values SB Player gets for the channel that should be lowered changes from a 16.16 fixed point value between 0 and 1.0, to between 0 and 24.
    The current released balance feature has been working fine with squeezeplay for me.

    Full left is -25 and full right is +25. Browser cache perhaps?

    When you click apply does the balance change in squeezeplay?

    I have new MacOS Intel and Windows squeezeplay builds v8.0.1r1368 available with Balance and Output Channel Mode: Mono support.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  10. #30
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,834
    Quote Originally Posted by philippe_44 View Post
    Good, so per my previous message, I have a PR ready for

    - duet (model:receiver) => balance
    - controller (model:controller) => balance
    - touch (model:fab4) => balance
    - radio (model:baby) => balance (works with headsets)
    - other squeezeplay : if capabilities include "Balance=1" => balance

    [edit]: One thing I'm not sure of is if there is a way to detect that the headset is plugged on a Radio. That would allow me to hide balance in the UI and not set gainL/R for volume when it is not connected, but I've not been able to easily find out if this is possible.
    That's great. To keep the jive based players consistant I won't include the Balance capability in the next community firmware release and let LMS handle it.

    I noticed that the SB Classic in not in the list. I just tested one of mine and balance works with it as well. I don't have a transporter to confirm.

    For anyone who has a transporter and is comfortable changing LMS source code.

    This temporary change will enable Balance for ALL players, even if they don't support it.
    Code:
    diff --git a/Slim/Web/Settings/Player/Audio.pm b/Slim/Web/Settings/Player/Audio.pm
    index b8c8cc0a3..3a200b2a7 100644
    --- a/Slim/Web/Settings/Player/Audio.pm
    +++ b/Slim/Web/Settings/Player/Audio.pm
    @@ -111,9 +111,9 @@ sub prefs {
                    push @prefs, 'outputChannels';
            }
     
    -       if ($client->hasBalance()) {
    +#      if ($client->hasBalance()) {
                    push @prefs, 'balance';
    -       }
    +#      }
     
            return ($prefs->client($client), @prefs);
     }
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •