Commit graph

1591 commits

Author SHA1 Message Date
Sasha Hilton
fb9720d3c2 Cache build dependencies in Github Workflows 2021-01-31 01:55:47 +00:00
Sasha Hilton
4a97108c8c Update librespot-tremor Cargo.lock dependency 2021-01-31 01:38:56 +00:00
Sasha Hilton
ccde0c8dcb Merge branch 'dev' into patch-1
Merge latest changes from dev
2021-01-31 01:37:11 +00:00
Sasha Hilton
9ad68dfb76 Remove depreciated error description method 2021-01-31 01:36:10 +00:00
Sasha Hilton
8c50ef9608
Merge pull request #586 from Johannesd3/bump-lewton
Bump lewton to 0.10
2021-01-30 21:06:22 +00:00
Sasha Hilton
89eaa392a9
Merge pull request #587 from Johannesd3/refactor-spotify-id
Refactor SpotifyId
2021-01-30 21:03:08 +00:00
johannesd3
bb44b99c92 Use proxytunnel in apresolve
Implementing the tower_service::Service trait for a newly created
ProxyTunnel struct, so it can be used as connector in hyper.
2021-01-30 14:45:31 +01:00
johannesd3
c1d62d72a7 Fixed ProxyTunnel 2021-01-30 14:03:34 +01:00
johannesd3
a45fe85c27 Enable logging in test 2021-01-30 13:53:44 +01:00
Sasha Hilton
318c499dc5 Change opt message to reflect default selection accurately. 2021-01-30 02:31:16 +00:00
johannesd3
e582f0a3fc Improved SpotifyId implementation
Moved conversion of SpotifyAudioType from and to &str directly to traits
Used a simpler and more idiomatic syntax in some places.
2021-01-29 11:50:50 +01:00
Michał Chojnacki
6b09836117 Refactor SpotifyId
- perf:
  * base62 encoding is an order of magnitude faster (~20x);
  * base16/62 enc/dec and from_uri are several times faster (~2-20x);
  * Let FileId::to_base16() reuse the hex encoder (~20x);

- changes:
  * Add to_uri() method;
  * Make from_uri() error handling consistent;
  * Move audio type from string matching to a SpotifyAudioType factory (private);
  * Implent From/Into<&str> for SpotifyAudioType;
  * Add representation sizes as associated constants (private);

- cs/docs:
  * Add rudimentary docs for most public funcs;
  * Add trivial test cases for the codecs;
2021-01-29 11:33:31 +01:00
johannesd3
78614c9d7a Bump lewton to 0.10 2021-01-29 11:25:09 +01:00
Johannesd3
ed20f357dc
Fix playback in pulseaudio backend (#577)
* Fix playback in pulseaudio backend

* Add comment regarding safety
2021-01-29 02:01:38 +00:00
Érico Nogueira Rolim
d010cb7999
librespot-audio: update librespot-tremor.
This picks up a fix for librespot-tremor when building with Rust 1.48.
2021-01-28 12:07:33 -03:00
Ash
aa90278ab6
Merge pull request #581 from ashthespy/tokio_migration
Tokio migration
2021-01-26 19:56:27 +01:00
johannesd3
c97fdeb3b4 Replaced .fold(0, add) by .sum() 2021-01-25 20:56:22 +01:00
johannesd3
07514c9dcc Add proxy support to apresolve 2021-01-25 20:55:49 +01:00
ashthespy
9546fb6e61 Merge branch 'futures_migration' of https://github.com/Johannesd3/librespot into tokio_migration 2021-01-25 18:35:18 +01:00
johannesd3
fd1f049572 Removed volume struct 2021-01-25 10:52:06 +01:00
johannesd3
fa5c9f7d11 Made locations in cache optional
The locations of credentials, volume and audio are now stored
in three separate Optional<PathBuf>s.
Removed the clearing of the cache if an error occurs. This might
be added again later.
2021-01-25 10:48:14 +01:00
johannesd3
14a004f84c Refactored Cache
Proper error handling, and moving the conversion between
{ credentials, volume } and file into the cache module
2021-01-25 10:47:42 +01:00
johannesd3
91d7d0422b Preparing main crate for testing 2021-01-25 09:04:47 +01:00
johannesd3
fe37186804 Make librespot_playback work 2021-01-25 09:04:33 +01:00
johannesd3
6c9d8c8d83 Replace pin_project and updated dependencies 2021-01-25 09:04:33 +01:00
johannesd3
0895f17f8a Migrated playback crate to futures 0.3 2021-01-25 09:04:33 +01:00
johannesd3
90905b81bb Improved RangeSet implementation 2021-01-25 09:04:33 +01:00
johannesd3
80d384e001 Migrated audio crate to futures 0.3 2021-01-25 09:04:33 +01:00
johannesd3
424ba3ae25 Migrated metadata crate to futures 0.3 2021-01-25 09:04:33 +01:00
johannesd3
6867ad0750 Added test 2021-01-25 09:04:33 +01:00
johannesd3
40e6355c34 Migrate core to tokio 1.0 2021-01-25 09:04:33 +01:00
Sasha Hilton
efabb03631 Fix incorrect cache initialisation causing crash on startup 2021-01-24 23:21:35 +00:00
ashthespy
0892587c0e [Core] WIP: Sessions 2021-01-23 22:21:42 +00:00
ashthespy
20dd94fe20 Fix tokio dependency in main 2021-01-23 22:21:42 +00:00
ashthespy
c273d51a1d [AudioKeyManager] Convert to async 2021-01-23 22:21:42 +00:00
ashthespy
94fc0a12da [Core/connection] Refactor to async/await 2021-01-23 22:21:42 +00:00
ashthespy
47a1575c00 WIP Futures
Fix apresolve

WIP session

[Core] More migration

Playing with `ReadExact` and `WriteAll`

Add some simple checks

Take little steps
2021-01-23 22:21:42 +00:00
ashthespy
c69ccf77e9 [Connect] Migrate to tokio 0.1 2021-01-23 22:21:42 +00:00
ashthespy
53b4ab05ba Migrate to tokio 0.1 2021-01-23 22:21:42 +00:00
ashthespy
9bbf8c3b26 WIP tokio-core -> tokio migration 2021-01-23 22:21:42 +00:00
ashthespy
962d7af24d Clean up hyper from binary 2021-01-23 22:21:42 +00:00
ashthespy
931c8207fc [Connect] Migrate to hyper ~v12 2021-01-23 22:21:42 +00:00
ashthespy
6f5607d9ab [Core] Bump hyper to ~0.12 2021-01-23 22:21:42 +00:00
Sasha Hilton
37a5796a86 Add option to choose between track or album normalisation gain, default album. 2021-01-21 19:16:05 +00:00
Sasha Hilton
b76543b9a7
Merge pull request #570 from michaelherger/patch-1
Attempt to fix tests
2021-01-21 18:17:10 +00:00
Michael Herger
53f516e5de
Attempt to fix tests
Tests currently fail with some apt error:

> E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

This change would add the suggested `apt-get update`
2021-01-21 06:34:25 +01:00
Sasha Hilton
06f5aa9c90 Fix incorrect audio cache directory reference 2021-01-02 23:31:37 +00:00
Sasha Hilton
414383db18
Merge pull request #506 from LaurentLouf/feature-split_cache_folders
Feature split cache folders, resolves #505
2021-01-02 23:17:33 +00:00
Sasha Hilton
4678bf0a8f
Merge pull request #550 from jnqnfe/ga
CI: Replace Travis with Github Actions
2021-01-02 23:12:18 +00:00
Lyndon Brown
013a2fdcbf ci: optimise action triggers
it is pointless to run CI jobs for pushes / PRs that only change files that
would never cause a failure, such as documentation.

this avoids wasting resources for such situations.
2020-12-16 16:14:37 +00:00