Code Monkey home page Code Monkey logo

Comments (26)

sashahilton00 avatar sashahilton00 commented on August 18, 2024 1

Comment by moodeaudio
Monday Jan 30, 2017 at 05:46 GMT


Hi Paul,

Since its not possible for the software to know much about users audio system, assume that if client defaults to sending 100% volume that full volume will be output at speakers or headphones when play button is pressed.

Consider setting initial volume to one of the following:

  1. level that user previously set in the Spotify client app
  2. level of client device local volume that user previously set
  3. 0% (default)
  4. level specified in librespot cmd string. For example --initial-volume 10%. This would allow users that want client to always output 100% to their audio system to simply specify --initial-volume 100%.

Something like that.

-TIm

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by plietar
Monday Jan 30, 2017 at 04:15 GMT


Thanks for bringing this up.

Spotify IOS client set volume to 100% on first connect/play! iPhone local volume was only 30%

This is intentional, see plietar/librespot#43 for the reasons. The local volume on the phone does not have an impact.

Volume stepping used by Spotify IOS client is very corse, only 10 steps to full volume using the physical iPhone buttons.

I'm not sure why it was set to 10, but I've just bumped it to 64 steps in 7be9626. This is the same behaviour as the desktop client.

The slider volume control within the Spotify app behaves similarly in that it raises volume too much within the first half of the slider.

Not sure what you mean there

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by sashahilton00
Sunday Feb 05, 2017 at 04:04 GMT


Ignore. Volume control on Sierra macOS glitched :/

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by pbros
Monday Feb 06, 2017 at 01:25 GMT


I'd be very interested in being able to specify an initial volume via an argument or config, or even better, have the ability to retain the previous spotify connect volume.

I'm using this with snapcast (https://github.com/badaix/snapcast/) and most of my other sources are never at 100% (e.g. airplay), so when I use spotify connect and switch sources, the volume is always too high since it's at 100%!

Thanks

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by ashwinvandijk
Tuesday Feb 21, 2017 at 21:04 GMT


I agree with pbros, it would be great if we could fix this for the snapcast users (including me :)). I would be happy with an initial volume of 0 if that would make things easier.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by plietar
Monday Mar 06, 2017 at 17:03 GMT


@moodeaudio

Consider setting initial volume to one of the following:

  • level that user previously set in the Spotify client app
  • level of client device local volume that user previously set

AFAIK this isn't possible, clients don't send their current level

  • 0% (default)

This is inconvenient since it requires all users to increase the volume every time, and would lead to confusion

  • level specified in librespot cmd string. For example --initial-volume 10%. This would allow users that want client to always output 100% to their audio system to simply specify --initial-volume 100%.

This would work.

Note that audio volume was recently refactored (#148) to support multiple mixer backends

  • When using software volume, we can add a --initial-volume flag, as well as save volume to the cache and use that when the flag isn't passed.
  • When using alsa mixing (#158), we can just use the system's volume, which is what that PR does.

I'm a bit concerned about the increasing number of command line flags, and would like to move to a more flexible config file based solution, where each audio and mixer backend can have different configuration options.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by pbros
Tuesday Mar 07, 2017 at 00:48 GMT


For applications uses a pipe or stdout (like snapcast), alsa isn't an option. In this case, the best options would be a flag or a config file since we could always use a default initial volume when instantiating librespot. If ever the calling application can save the previous volume, then we could handle the case where we want to go back to the previous level!

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by goguetchapuisb
Sunday Nov 26, 2017 at 21:29 GMT


I am interested in this feature to put an initial volume. Is it possible ?

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by thekr1s
Wednesday Jan 24, 2018 at 23:38 GMT


@moodeaudio I have forked a recent version of librespot and added the --progressive-volume option. It icreases the volume with smaller steps at low volume and bigger steps at high volume. This gives a much more smooth volume control. Get is at: https://github.com/thekr1s/librespot/tree/progressive-voume-control

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by maxx
Wednesday Jan 24, 2018 at 23:42 GMT


@thekr1s this is awesome. thank you!

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by kingosticks
Wednesday Jan 24, 2018 at 23:51 GMT


@thekr1s woah there's loads of fixes in your fork there. Some I'd love to have and I've got some queue handling improvements to share. Can we advertise that as the new master repository?

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by sashahilton00
Wednesday Jan 24, 2018 at 23:53 GMT


If you guys do choose a new master repo, could you spin it up into an organisation? That way it can be handled off over time as opposed to leading to this scenario where eveyone has a different fork :)

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by thekr1s
Wednesday Jan 24, 2018 at 23:58 GMT


Credits go to @ComlOnline. He merged a lot of forks with fixes. That is the reason I forked that one. I intend to push te changed to ComlOnline/librespot
This is my first step onto github, so try to find my way around....

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by kingosticks
Thursday Jan 25, 2018 at 00:00 GMT


A librespot organisation is the way to go. Good idea

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by ComlOnline
Thursday Jan 25, 2018 at 00:55 GMT


Oh I love the idea of an organisation. I don't like the idea of being the only one with control over a project as big of this. I was originally just picking and choosing the fixes I wanted for myself. I just went to create an organisation called "librespot" however it was sadly taken. Anyone got some other ideas?

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by moodeaudio
Thursday Jan 25, 2018 at 00:57 GMT


This is a sight for sore eyes :-)

-Tim

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by sashahilton00
Thursday Jan 25, 2018 at 00:58 GMT


@ComlOnline Just call it librespot-org or something. Also the joy of an organisation is I believe that you can give multiple people control

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by ComlOnline
Thursday Jan 25, 2018 at 01:00 GMT


Perfect I'll do that now, That sounds wonderful.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by sashahilton00
Thursday Jan 25, 2018 at 01:05 GMT


Great. You might think about @herrernst and some of the other guys who frequented the PRs/commits :)

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by ComlOnline
Thursday Jan 25, 2018 at 01:06 GMT


It is done: https://github.com/librespot-org/librespot
I'll comb through the contributors now.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by sashahilton00
Thursday Jan 25, 2018 at 01:07 GMT


Great. In the meantime, I'm going to bed :)

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by sashahilton00
Thursday Jan 25, 2018 at 01:11 GMT


Also don't forget to drop @plietar a line, not sure if he's allowed/wants to to work on it given his signing off on the project, but it would obviously be beneficial if he is able to.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by ComlOnline
Thursday Jan 25, 2018 at 01:13 GMT


Sleep well, and don't worry I have already made him an owner of the org.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by thekr1s
Friday Jan 26, 2018 at 19:27 GMT


@moodeaudio @maxx, do you face the same issue as I the the volume increases too much in the first half of the volume level? If so, what platform are you using?
I face the issue on a Raspberry Pi with OSMC, with a hifiberry DAC.

from librespot.

sashahilton00 avatar sashahilton00 commented on August 18, 2024

Comment by maxx
Friday Jan 26, 2018 at 21:57 GMT


@thekr1s yes - I have the same annoyance (prior to your patch)..so I was very happy to see this. I control it mainly with the iOS app, and I pipe librespot to pulse audio (where I mix with with some other home automation text to speech stuff) and then I pipe that to snapcast out to several rooms in the house. I haven't tried your patch yet - updating librespot is the cards for this weekend.

from librespot.

ComlOnline avatar ComlOnline commented on August 18, 2024

Ah the issue where this all started.

from librespot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.