Commit graph

1049 commits

Author SHA1 Message Date
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
ed20f357dc
Fix playback in pulseaudio backend (#577)
* Fix playback in pulseaudio backend

* Add comment regarding safety
2021-01-29 02:01:38 +00:00
Sasha Hilton
efabb03631 Fix incorrect cache initialisation causing crash on startup 2021-01-24 23:21:35 +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
Lyndon Brown
6f1bf7dd07 ci: add use of github actions
now that travis has ditched it's free service.
2020-12-16 16:05:03 +00:00
Lyndon Brown
0adb8516a6
compiling.md: fixup table formatting (#549)
Such that it is readable as a text file, not only in "rendered" markdown
2020-12-15 11:48:55 +01:00
Sasha Hilton
5d5f7846ec
Merge pull request #541 from jnqnfe/deps
Update some deps
2020-12-15 00:48:06 +00:00
Lyndon Brown
e114558e28 bump rpassword dependency further (v4 to v5)
not sure from brief look at commit log why they jumped to v5, did not care
to dig into it; compiles fine with v5.
2020-12-14 11:53:54 +00:00
Lyndon Brown
a01e0ddaca bump rpassword (v3 to v4)
they just bumped their `winapi` dependency.
2020-12-14 11:53:54 +00:00
Lyndon Brown
e0b7ce8ecd bump env_logger dependency (v0.6 to v0.8)
seems to compile fine.
2020-12-14 11:53:54 +00:00
Lyndon Brown
bda91339b3 bump hex dependency (v0.3 to v0.4)
very little changed, compile fine after.
2020-12-14 11:53:54 +00:00
Lyndon Brown
4fbbe44ab8 bump base64 dependency (v0.10 to v0.13)
very little changed, compiles fine after.
2020-12-14 11:53:54 +00:00
Lyndon Brown
0460429380 bump num-bigint dependency (v0.2 to v0.3)
compiles fine after version change; version changes seem to be very minimal.
2020-12-14 11:53:54 +00:00
Lyndon Brown
8ea200088c bump sdl2 dependency (v0.32 to v0.34)
doesn't seem to have any compatibility issues - compiled cleanly with sdl2
feature after version bump.
2020-12-14 11:53:54 +00:00
Lyndon Brown
3ba05845d2 upgrade jack dependency from v0.5 to v0.6
A bunch of stuff got moved around; means of constructing audio output port
changed.

I simply used the commits, mostly from [1], to their examples to figure
out how to address the errors that resulted from compiling after the
version bump. It compiles cleanly again now.

[1]: https://github.com/RustAudio/rust-jack/pull/89
2020-12-14 11:53:54 +00:00
Lyndon Brown
594de54bec bump zerocopy dependency
doesn't seem to have any compatibility issues.
2020-12-14 11:53:54 +00:00
Lyndon Brown
21b2110da2 bump glib and gstreamer dependency versions
(needed to be done together)

there was no changelog for gstreamer and far too many commits to check
compatibility, but compiling with the gstreamer backend feature works fine
with these new versions.
2020-12-14 11:53:54 +00:00
Lyndon Brown
bc973d02dc bump uuid dependency from 0.7 to 0.8
seems compatible
2020-12-14 11:53:54 +00:00
Lyndon Brown
2f809ea6e1 bump shell-words dependency to v1.0.0
nothing has changed, as noted here:
ae583f7a19
2020-12-14 11:53:54 +00:00
Sasha Hilton
7e8feed6dd
Merge pull request #540 from jnqnfe/pa
Improve PulseAudio backend
2020-12-14 01:20:22 +00:00
Lyndon Brown
120bd88326 fix alignment causing format check failure 2020-12-13 17:51:43 +00:00
Lyndon Brown
0411e69548 convert PulseAudio backend to use the available binding crates
rather than the raw 'sys' layer.
2020-12-13 17:51:41 +00:00
Lyndon Brown
28061dffe2 upgrade to newer PulseAudio crate dependency
requires adding dependency on libpulse-simple-sys since the PulseAudio
simple components were moved to their own crate (the original version
did not stick to the one crate per one system library rule).

this fixes the licensing compatibility issue discussed in #539 ([1])
(the original v0.0.0 was LGPL-3.0 licensed, while v1.11 onwards are
'MIT OR Apache-2.0').

[1]: https://github.com/librespot-org/librespot/issues/539
2020-12-13 17:50:23 +00:00
Lyndon Brown
cea63e57a4 use actual feature names rather than crate names for conditional compilation 2020-12-13 17:46:40 +00:00
Sasha Hilton
c8713a6c01
Merge pull request #518 from LaurentLouf/feature-handle_cache_full_situation
Handle cache full situation
2020-12-13 17:34:14 +00:00
Sasha Hilton
aba1a6ee59
Merge pull request #546 from maxthiel/send-preload-event
Add a preload event to warn about new track coming soon
2020-12-13 17:31:20 +00:00
Sasha Hilton
2fa69cdc6e
Merge pull request #543 from willstott101/rodio-0.13
WIP: rodio 0.13
2020-12-13 17:30:16 +00:00
maxthiel
2f7bf54076 Add a preload event to warn about new track coming soon 2020-12-10 21:17:41 +00:00
Will Stott
8ff1dc24bd Quick minimal hack to get latest rodio working. 2020-12-02 19:45:46 +00:00
Sasha Hilton
89cafd7c86
Merge pull request #538 from jnqnfe/repolinks
Fix missing repo links in sub-crates
2020-11-27 02:50:28 +00:00
Lyndon Brown
4708e0a2bf cargo toml formatting fix
for consistency
2020-11-26 19:31:51 +00:00
Lyndon Brown
f87cbd6fde add missing repo links to sub-crate cargo toml files
such that links are available from their crates.io pages to the project repo.
2020-11-26 19:30:37 +00:00
Adam Cole
6a4bc83259
Simple grammar fix (#534) 2020-11-18 21:03:15 +01:00
Emanuel Haupt
1b1c22b6bc
Add documentation about official packages (#531)
Many operating systems have already packaged librespot. Add some documentation about the availability of official packages. [Repology](https://repology.org/project/librespot/versions) provides a great overview and nice badges over the package status along with available versions.
2020-10-18 19:11:16 +02:00
Sasha Hilton
a2f832dff1
Merge pull request #529 from willstott101/libmdns-0.2.7
Bump libmdns to 0.2.7 hopefully fixes: #520
2020-10-06 02:09:55 +01:00
Will Stott
dfef2cb433 Bump libmdns to 0.2.7 hopefully fixes: #520 2020-10-05 18:32:25 +01:00
Ash
064359c26e
Add an example to fetch a Spotify API token (#512) 2020-08-25 23:13:46 +02:00
Laurent Louf
5f11ddea50 Main issue is probably when copying the content to the file, not during the file creation, but handle both cases just to be sure 2020-08-04 12:25:32 +02:00
Laurent Louf
9d832baf83 Instead of disabling audio cache, just clean the audio cache and start caching again from the current file 2020-08-03 13:18:23 +02:00
Laurent Louf
b34032690b Don't create directories for the audio cache if it disabled 2020-08-02 10:52:09 +02:00
Sasha Hilton
bf44c8c170 Update publish.sh to rebase dev after publish. 2020-07-29 16:44:48 +01:00
Sasha Hilton
1cd69ab028 Update Cargo.lock 2020-07-29 16:40:24 +01:00
Sasha Hilton
45f4276d68 Update version numbers to 0.1.3 2020-07-29 16:23:41 +01:00
Sasha Hilton
7626a70036
Merge pull request #443 from ashthespy/maped_mixer
[alsa] Implement cubic mapping for hardware mixers
2020-07-29 16:21:37 +01:00
ashthespy
9e7180feb4 Use mixer's mute switch if possible 2020-07-29 15:59:45 +01:00