Commit graph

1499 commits

Author SHA1 Message Date
JasonLG1979
0db17973a1 Fix --opt=value line argument logging
Fixes https://github.com/librespot-org/librespot/issues/1011
2022-06-25 00:17:36 -05:00
Roderick van Domburg
cbba7abd38
Merge pull request #1013 from JasonLG1979/minor-alsa-tweaks
Minor alsa backend tweaks
2022-06-24 23:17:43 +02:00
JasonLG1979
5a10a963ff Minor alsa backend tweaks
Silence a clippy warning and we don't need `std::cmp::min` when `usize` already has `min`.
2022-06-18 09:08:04 -05:00
Roderick van Domburg
95dc9f8411
Merge pull request #1009 from JasonLG1979/fix-fixed
Fix fixed volume with hardware mixer
2022-06-10 23:45:36 +02:00
JasonLG1979
e4deb5ddcd Fix fixed volume with hardware mixer.
fixes https://github.com/librespot-org/librespot/issues/1008
2022-06-09 16:34:42 -05:00
Roderick van Domburg
fc1e74574a
Update changelog 2022-05-23 22:21:56 +02:00
Roderick van Domburg
88e64bd884
Update Cargo.lock 2022-05-23 21:43:16 +02:00
Roderick van Domburg
15aea747fd
Fix updating lockfile 2022-05-23 21:42:13 +02:00
Roderick van Domburg
fb12820f73
Merge pull request #1007 from JasonLG1979/bump2
Bump dependencies
2022-05-23 21:07:14 +02:00
JasonLG1979
79b92bbe7a Update changelog and such 2022-05-23 13:42:38 -05:00
Jason Gray
a433f2b911
update MSRV 2022-05-23 13:40:00 -05:00
JasonLG1979
0b7508a2bf Update deps round 2 2022-05-23 13:17:18 -05:00
Roderick van Domburg
a92cb96f2a
Merge pull request #1006 from JasonLG1979/bump-deps
Bump dependencies
2022-05-23 19:31:45 +02:00
JasonLG1979
c03d3ad102 Bump deps
This bumps deps that don't need major code refactoring or MSRV bumps.
2022-05-23 10:19:54 -05:00
Roderick van Domburg
5568c70cd1
Prepare for new developments 2022-05-21 22:52:39 +02:00
Roderick van Domburg
d596b16e5a
Expand publishing documentation 2022-05-21 22:52:06 +02:00
Roderick van Domburg
8ad5a78bf6
Add repository URL 2022-05-21 22:51:30 +02:00
Roderick van Domburg
dff19377fa
Update version numbers to 0.4.0 2022-05-21 22:31:15 +02:00
Roderick van Domburg
310b3cca81
Prepare for 0.4.0 release 2022-05-21 22:14:18 +02:00
Roderick van Domburg
2e8d145bc9
Merge pull request #1004 from roderickvd/update-crates
Update crates
2022-05-21 22:07:48 +02:00
Roderick van Domburg
b08502c801
Update crates 2022-05-21 21:51:37 +02:00
Roderick van Domburg
3e80eebf7a
Merge pull request #1003 from roderickvd/fix-clippy-lints
Fix clippy lints
2022-05-21 21:48:51 +02:00
Roderick van Domburg
2a3e248bba
Fix clippy lints 2022-05-21 21:36:56 +02:00
Roderick van Domburg
89347cdcef
Merge pull request #1002 from roderickvd/fix-arm-ci
Fix CI on ARM
2022-05-21 21:27:13 +02:00
Roderick van Domburg
cf25c2aa36
Fix CI on ARM 2022-05-21 21:06:29 +02:00
Sean McNamara
3d298768b3
Backport #964 GStreamer backend cleanup (#979) 2022-05-21 20:55:55 +02:00
Louis Seubert
6c2491b9a3
adding callback for reusable credentials (#983)
This allows more control over how the credentials are saved to the cache
2022-05-20 12:53:44 +02:00
Roderick van Domburg
1efda79787
Merge pull request #995 from bmwiedemann/dev
Allow to override build_id with SOURCE_DATE_EPOCH
2022-05-20 11:39:34 +02:00
Roderick van Domburg
be9a393b2a
Merge pull request #997 from WhyNotHugo/avoid-unwrap-disco
Avoid crash when Avahi is not available
2022-05-20 11:19:36 +02:00
Roderick van Domburg
6097d5313e
Merge pull request #998 from WhyNotHugo/bump-msrv
Bump MSRV to 1.53
2022-05-20 11:09:26 +02:00
Bernhard M. Wiedemann
9de1f38e92 Allow to override build_id with SOURCE_DATE_EPOCH
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

This PR was done while working on reproducible builds for openSUSE.
2022-05-20 10:29:42 +02:00
Hugo Osvaldo Barrera
4fd7ac24ce Bump MSRV to 1.53
See: https://github.com/librespot-org/librespot/pull/997
2022-05-20 08:57:21 +02:00
Hugo Osvaldo Barrera
c4af90f5fe Avoid crashing when Avahi is not available
When librespot is built with Avahi turned on, it will crash if Avahi is
later not available at runtime.

This change avoids it crashing hard when Avahi is not available;
librespot will merely warn of the issue.

This affects some distribution packages too, where the maintainer might
prefer leaving Avahi support enabled, but many setups don't (or can't)
run Avahi.

Co-authored-by: Nick Steel <nick@nsteel.co.uk>
2022-05-20 08:39:20 +02:00
Jason Gray
7efc62b9ca
Remove the volume sample iteration (#986)
Move volume calculations out of their own separate samples iteration and into the normalisation iteration
2022-05-19 22:23:14 +02:00
Roderick van Domburg
70de5752dc
Merge pull request #1000 from Gnarflord/dev
Bump libmdns to 0.7
2022-05-19 22:03:48 +02:00
Gnarflord
10c9a0f8ea
Use libmdns 0.7 to avoid packet 47 error 2022-05-19 18:37:21 +02:00
Roderick van Domburg
650d41b020
Merge pull request #976 from JasonLG1979/pulseaudio-name
Set the PulseAudio name to match librespot's device name
2022-03-19 22:49:26 +01:00
JasonLG1979
e0e23c9167 Use the librespot name arg for the app name in the PulseAudio backend
This sets the name displayed by PulseAudio to Librespot - Instance Name if a name is given otherwise Librespot (the default name).

This also sets the correct "role" as per the docs:

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/Developer/Clients/ApplicationProperties/

PA_PROP_MEDIA_ROLE

"This is a property of the actual streamed data, not so much the application"

Roles are used for policies, things like automatically muting a music player when a call comes in and whatnot.

For bonus points this also sets PULSE_PROP_application.icon_name to audio-x-generic so that we get a nice icon in the PulseAudio settings by our name instead of a missing icon placeholder.
2022-03-19 15:09:26 -05:00
Jason Gray
616809b64c
Quantum-realm level normalisation optimization (#965)
This saves up to 1-2% CPU useage on a PI 4 depending on how much normalisation is actually being done.

* We don't need to test against EPSILON. The factor will never be over 1.0 in basic normalisation mode.
* Don't check the normalisation mode EVERY sample.
* Do as little math as possible by simplfiying all equations as much as possible (while still retaining the textbook equations in comments).
* Misc cleanup
2022-02-13 22:50:32 +01:00
Roderick van Domburg
cb194cfd3b
Merge pull request #966 from michaelherger/fix-params-printout
Only log runtime argument if it starts with a dash "-"
2022-02-13 20:48:36 +01:00
Michael Herger
6f6d330bce Only log runtime argument if it starts with a dash "-"
When there's a value that corresponds to an argument name used in the same command line, the logging of the arguments gets confused and logs the matching argument, but without the leading dash:

```
% target/debug/librespot -n c --verbose -c /path/to/my/cache
[2022-02-07T22:32:25Z INFO  librespot] librespot 0.3.1 55ced49 (Built on 2022-02-07, Build ID: qaEB8kEW, Profile: debug)
[2022-02-07T22:32:25Z TRACE librespot] Command line argument(s):
[2022-02-07T22:32:25Z TRACE librespot] 		-n "c"
[2022-02-07T22:32:25Z TRACE librespot] 		c "/path/to/my/cache"
[2022-02-07T22:32:25Z TRACE librespot] 		--verbose
[2022-02-07T22:32:25Z TRACE librespot] 		-c "/path/to/my/cache"
```

Here we're using the literal `c` as the device name, and the `-c` argument. Thus the `c /path/to/my/cache` is logged in addition to `-c /path...`.

After checking whether the key has a leading dash, this issue is gone:

```
% target/debug/librespot -n c --verbose -c /path/to/my/cache
[2022-02-07T22:32:41Z INFO  librespot] librespot 0.3.1 55ced49 (Built on 2022-02-07, Build ID: qaEB8kEW, Profile: debug)
[2022-02-07T22:32:41Z TRACE librespot] Command line argument(s):
[2022-02-07T22:32:41Z TRACE librespot] 		-n "c"
[2022-02-07T22:32:41Z TRACE librespot] 		--verbose
[2022-02-07T22:32:41Z TRACE librespot] 		-c "/path/to/my/cache"
```
2022-02-07 23:37:29 +01:00
Roderick van Domburg
c49415c3fb
Merge pull request #960 from JasonLG1979/fix-shuffle
Prevent shuffle crash
2022-02-03 09:36:09 +01:00
JasonLG1979
d54f3982a0 update changelog 2022-02-01 17:48:13 -06:00
JasonLG1979
edb98d5c1d Prevent shuffle crash
fixes https://github.com/librespot-org/librespot/issues/959
2022-01-31 18:31:09 -06:00
Roderick van Domburg
f4be9bb85d
Merge pull request #954 from JasonLG1979/remove-dep-warning
Remove basic normalisation deprecation warning
2022-01-28 08:45:18 +01:00
JasonLG1979
3c749a8f0e Remove basic normalisation deprecation warning 2022-01-27 17:03:21 -06:00
Roderick van Domburg
c8971dce63
Fix Alsa softvol linear mapping (#950)
Use `--volume-range` overrides
2022-01-27 18:39:28 +01:00
Jason Gray
03e71f6e0a
simplify get_factor (#942)
Simplify `get_factor`
2022-01-27 07:40:59 +01:00
Roderick van Domburg
55ced49c2d
Merge pull request #929 from jforberg/playlist_tracks
Add error message for bad ID
2022-01-24 13:47:09 +01:00
Jason Gray
ceebb374f0
Remove unsafe code (#940)
Remove unsafe code
2022-01-23 19:02:04 +01:00