Commit graph

338 commits

Author SHA1 Message Date
Sasha Hilton b86c317ac9
Merge pull request #435 from Malvineous/patch-1
Allow use of HTTP proxies listening on port 80
2020-02-27 02:14:49 +00:00
Adam Nielsen 63cc846a10
Allow use of HTTP proxies listening on port 80
Since port 80 is the default port for the HTTP protocol, `url.port()` returns `None`, causing an "invalid proxy" message.  Using `port_or_known_default()` will only return `None` if the both the port has been omitted and an unknown protocol has been specified.
2020-02-16 18:52:09 +10:00
Konstantin Seiler 18d1181bf5 Clean up some code
Ensure the player events are emitted correctly.
Only call the external script on events we want to notify about.
Stop sink when loading to pause.
cargo fmt
2020-02-03 18:58:44 +11:00
Konstantin Seiler 5784b4652c Prepare for gapless play.
- change communication between player and spirc to use player events channel.
- enhance player events channel
- have spirc send loading messages to Spotify
- enable preloading of tracks in the player
2020-02-01 08:41:11 +11:00
Konstantin Seiler 37f6e3eb9c Print error message on connection failure. 2020-01-29 09:51:26 +11:00
Konstantin Seiler 65d1c1bf8e Proper error handling when connecting to the server. 2020-01-29 09:45:06 +11:00
Sasha Hilton e9c3357e41 Run cargo fmt 2020-01-24 02:26:16 +01:00
Sasha Hilton cdcb919c08
Merge branch 'dev' into connection-lost-crash 2020-01-24 01:02:40 +01:00
Konstantin Seiler a52092e094 Convert another panic to error handling.
Compatibility fix for Rust 1.33.
2020-01-24 10:12:16 +11:00
Konstantin Seiler 0e22678a28 Workaround for Rust 1.33 borrow checker. 2020-01-23 21:10:55 +11:00
Konstantin Seiler dadab486d2 Don't exit if too many spirc failures. 2020-01-23 19:51:09 +11:00
Konstantin Seiler f26db01110 Rate-limit automatic re-connection attempts when spirc shuts down. 2020-01-23 19:32:06 +11:00
Konstantin Seiler 719943aec9 Don't panic if spirc terminates prematurely.
Instead attempt to reconnect and wait for new client connections.
2020-01-23 01:24:59 +11:00
Konstantin Seiler b6c676ad60 Prevent librespot from panicking if server connection is lost. 2020-01-22 21:55:45 +11:00
marcelbuesing 38d82f2dc2
Rerun rustfmt on full codebase 2020-01-17 18:47:30 +01:00
ashthespy d26590afc5
Update to Rust 2018
- Fix deprecated Error::cause warnings and missing dyn
- Reset max_width
- Add rustfmt to Travis
- Run rustfmt on full codebase
 with `cargo fmt --all`
- Add rustfmt to Travis
- Complete migration to edition 2018
- Replace try! shorthand
- Use explicit `dyn Trait`
2020-01-17 18:11:52 +01:00
marcelbuesing be2ad9059a
Migrate to rust 2018 edition 2020-01-17 15:54:42 +01:00
ashthespy b3c9744b29 Add a autoplay option flag 2019-11-05 20:34:43 +01:00
Ash 25107ee796 Revert "Fix play.rs example (#379)"
This reverts commit 2ff71abb8e.
2019-10-09 18:05:08 +02:00
Gilles Castel 2ff71abb8e Fix play.rs example (#379)
Fix `play.rs` example by renaming `core` to `librespot_core`
2019-10-09 10:44:20 +02:00
George Hahn 6e280b3c88 Upgrade dependencies 2019-07-17 22:08:15 -05:00
Tristan Stenner 37eca2fab3 Update env_logger to 0.6 2019-05-03 07:40:13 +02:00
ashthespy cc6c9b2dc4 More alsa stragglers 2019-03-22 00:00:58 +01:00
ashthespy 0e1147077c Add run time option flags for AlsaMixer
Add `Cargo.lock` for Travis
2019-03-22 00:00:57 +01:00
ashthespy a67048c3d7 Add initial support for alsamixer 2019-03-22 00:00:14 +01:00
Will Stott b81bdca707 QDH: Instantiate audio backend immediately when using "--device ?". 2019-03-20 13:16:29 +00:00
Artyom Pavlov 391b9c69c4
Merge branch 'master' into master 2019-03-15 16:32:54 +00:00
Nick Steel 6a600596e8 main: exit librespot after the first ctrl+c if no currently active spirc session. 2019-03-13 18:47:56 +00:00
Artyom Pavlov 772591576a
Merge branch 'master' into master 2018-12-06 09:38:33 +00:00
ruben 81e7c9b9d3 Changed TRACK_ID from base16 to base62 so that it is equal with the official Spotify app 2018-11-04 18:41:33 +01:00
William R. Fraser 9fa138a116 implement using tokio-process instead 2018-10-16 02:34:56 -07:00
William R. Fraser eaac599ce3 reap the exit statuses from 'onevent' child processes 2018-10-16 00:24:33 -07:00
newpavlov e4677027d2 replace rust-crypto's hashes, HMAC and PBKDF2 2018-07-23 16:41:39 +03:00
Harold 4fb3d5f271 Add ap-port option to specify preferred port 2018-07-03 13:09:22 +02:00
Brice d40c0f50db Cache volume across restarts (#220)
* create Volume struct for use with Cache

* add "volume" file to Cache

* load cached volume on start, intial overrides cached overrides default

* amend volume_to_mixer function to cache the volume on every change

* pass cache to Spirc and SpircTask so volume_to_mixer has access

* rustfmt changes

* revert volume_to_mixer function and Spirc/SpircTask cache variable

* Volume implements Copy, pass by value instead of reference

* clamp volume to 100 if cached value exceeds limit

* convert Volume to u16 internally, use float and round to convert hex->dec

* convert initial_volume and ConnectConfig.volume to u16 as well

* add cache_volume function to SpircTask

* remove conversion to/from percentage on cached volume

* consolidate device.set_volume, mixer.set_volume, and caching

* streamline intial volume logic
2018-05-17 03:15:17 +02:00
Reinier Balt deb240c02f reverse #212 since it does not address the real problem (#213) 2018-05-01 21:39:49 +02:00
Reinier Balt 6a4e9e8bec return from Main loop on Ctrl-C/shutdown 2018-04-30 14:22:45 +02:00
Johan Anderholm 3a14e9a6be Validate proxy urls better.
Use the url crate to handle proxies to make sure they conform to a
proper format.
2018-03-24 08:45:43 +00:00
Johan Anderholm 3bdc5e0073 Add support for http proxy
Currently only http proxy (no https) is supported.
2018-03-24 08:45:43 +00:00
Johan Anderholm 612978908f Reformat according to new rustfmt rules 2018-03-24 08:45:43 +00:00
thekr1s d6b82cd732 revert file mode to original mode 2018-03-14 23:19:49 +01:00
thekr1s b1f2a412ad fir rustfmt issues 2018-03-11 13:34:30 +01:00
thekr1s b3966b0e08 Add optional linear volume contol 2018-03-11 11:27:28 +01:00
Sasha Hilton 237ef1e4f9 Format according to rustfmt 2018-02-26 02:50:41 +01:00
Sasha Hilton 084646e21b Use prompt for password in main.rs 2018-02-25 05:40:00 +01:00
Sasha Hilton bde157fad7
Merge branch 'master' into events-on-prev-next 2018-02-24 20:16:28 +01:00
Sasha Hilton eed2bb6938
Merge pull request #162 from librespot-org/normalisation
Add volume normalisation support
2018-02-24 18:54:03 +01:00
Anton Voyl 58ea1baa98 Issue 130 (#164)
* Core API: device_id

* Core API: u128
2018-02-24 16:34:04 +01:00
Sasha Hilton f8db550e5e Add volume normalisation support 2018-02-23 20:08:20 +01:00
Simon Persson 23d3c1593f Just spawn event handlers, don't wait for exit code. 2018-02-20 23:17:06 +01:00