Commit graph

486 commits

Author SHA1 Message Date
awiouy 191caca518 core API: move Bitrate and PlayerConfig from core to playback 2018-02-11 23:55:41 +01:00
Paul Liétar 685c607c15
Merge pull request #141 from awiouy/rustfmt
rustfmt
2018-02-11 22:47:07 +01:00
awiouy 8658ad3a62 .travis.yml: add rustfmt 2018-02-11 13:28:06 +01:00
awiouy c9ba73c9ef rustfmt: core 2018-02-11 12:37:08 +01:00
awiouy 0d92ac74d1 Add rustfmt.toml 2018-02-11 12:33:00 +01:00
Sasha Hilton f3bb85c33a
Merge pull request #137 from awiouy/core_API
core API review changes.
2018-02-10 23:14:41 +01:00
awiouy a35edc6af4 core API: move run_program to player.rs 2018-02-10 17:58:15 +01:00
awiouy 496a802248 core API: move subfile.rs to player.rs 2018-02-10 17:58:15 +01:00
awiouy d7fa1464ff core API: move mkdir_existing to cache.rs 2018-02-10 17:58:15 +01:00
awiouy 77882836ce core API: move now_ms to spirc.rs 2018-02-10 17:58:15 +01:00
awiouy 55f27a9e0a core API: SessionWeak.try_upgrade(), SessionWeak.upgrade() 2018-02-10 17:58:15 +01:00
awiouy ae85e69aca core API: Session.weak() 2018-02-10 17:58:15 +01:00
awiouy 72cef9a10c core API: Session.config() 2018-02-10 17:58:15 +01:00
Paul Liétar e80b97e7b7
Merge pull request #127 from kingosticks/fix/skipping-with-queued-tracks
Improved next/prev handling for queued tracks. (v2)
2018-02-10 17:36:47 +01:00
Nick Steel d05fa10067 Improved next/prev handling for queued tracks.
1) A queued track is removed once it has become the current track.
   Note that the track doesn't need to actually play i.e. it could
   have been immediately skipped over with 'next()'. This is
   implemented in 'consume_queued_track()'.

2) Queued tracks are always positioned immediately after the current
   track. 1) ensures this is true for 'next()' but 'prev()' requires
   all the queued tracks are actually moved for this to remain the
   case.

Also fixed the case where 'prev()' on the first track would incorrectly
wrap back around to the last track even when repeat was disabled. The
correct behaviour is to remain on the first track and just seek to the
start.

For example, with the following tracks and repeat enabled:

TrackA, TrackB, TrackC-Q, TrackD-Q, TrackE
        ^^^^^^

Here, the result of 'prev' changes the current track from TrackB to
TrackA and the queued tracks (TrackC, TrackD) move to the position
immediately after TrackA:

TrackA, TrackC-Q, TrackD-Q, TrackB, TrackE
^^^^^^

Calling 'prev' again results in the current track wrapping back around
to TrackE and the queued tracks moving after that same track:

TrackA, TrackB, TrackE, TrackC-Q, TrackD-Q
                ^^^^^^
2018-02-10 15:17:30 +00:00
awiouy a8bb696be8 core API: MercurySender::new 2018-02-10 08:23:46 +01:00
Sasha Hilton b0244ad42d
Merge pull request #135 from librespot-org/playback
Move audio backends into librespot-playback crate
2018-02-10 02:15:14 +01:00
Sasha Hilton 930bc3f841 Remove default option iin playback/Cargo.toml 2018-02-10 01:44:26 +01:00
Paul Liétar ce2821408b
Merge pull request #136 from awiouy/core_API
core API
2018-02-10 00:47:20 +01:00
awiouy 762b75803b core API: connection 2018-02-09 21:36:18 +01:00
awiouy 4c23803c84 core API: cache.rs 2018-02-09 21:29:29 +01:00
awiouy a105fd44c4 core API: save_to_file, save_to_writer 2018-02-09 21:24:58 +01:00
awiouy c86f790986 core API: from_file, from_reader 2018-02-09 21:18:06 +01:00
awiouy 434b824c6e core API: dispatch 2018-02-09 21:06:16 +01:00
awiouy d34068c5a7 core API: apresolve 2018-02-09 20:57:49 +01:00
Sasha Hilton 4f605dfd86 Correct feature flags 2018-02-09 02:14:11 +01:00
Sasha Hilton 1fb65354b0 Move audio backends into seperate crate 2018-02-09 02:05:50 +01:00
Sasha Hilton bd59ded224
Merge pull request #124 from awiouy/lewton_as_default
Set lewton_decoder as default, libvorbis_decoder as optional. Wiki also updated.
2018-02-09 00:51:26 +01:00
Sasha Hilton 6e71260bbd
Merge pull request #123 from awiouy/lewton
No objections, so merging. lewton: handle OggError(NoCapturePatternFound)
2018-02-08 18:33:45 +01:00
Sasha Hilton 682df767a6
Merge pull request #131 from librespot-org/modularise
Move discovery functionality into new crate.
2018-02-08 09:30:50 +01:00
awiouy e3516ebd9b Move discovery to its own module. 2018-02-08 04:03:53 +01:00
awiouy f400a894bc lewton_decoder becomes default, libvorbis_decoder optional 2018-02-08 00:24:57 +01:00
awiouy 97bc429e08 Update Rust requirement to 1.20.0 2018-02-07 18:57:19 +01:00
awiouy 99e7da562d lewton: handle OggError(NoCapturePatternFound) 2018-02-07 18:25:21 +01:00
Sasha Hilton 7ead896ae7
Merge pull request #122 from librespot-org/keymaster
Move keymaster to core
2018-02-07 17:50:45 +01:00
Sasha Hilton 53fab4dc86
Merge pull request #11 from thekr1s/alsa-open-crash
Prevent crash in audio_backend/alsa.rs when switching from Kodi audio…
2018-02-07 15:08:52 +01:00
Sasha Hilton cfa7a62dfc Re-add serde_derive to lib.rs 2018-02-07 15:07:01 +01:00
Sasha Hilton ccbaff267e Re-add serde_derive 2018-02-06 20:26:37 +01:00
Sasha Hilton 6a442a4570 Move keymaster to core 2018-02-06 19:54:28 +01:00
Sasha Hilton 578d6b7f06
Merge pull request #121 from ashthespy/metadata
Add track duration to `Track` metadata
2018-02-06 18:08:59 +01:00
ashthespy 4164717452 Add track duration to Track metadata 2018-02-06 03:20:21 +01:00
Robert b03430a057 minor code cleanup 2018-02-05 00:33:17 +01:00
Sasha Hilton 977a6db3ef
Merge pull request #116 from librespot-org/jackaudio
Jackaudio Support. Closes #93.
2018-02-04 20:23:16 +01:00
Sasha Hilton 59782fe285
Merge pull request #117 from awiouy/nit1
simplify dns-sd/mdns code
2018-02-04 20:10:09 +01:00
awiouy 2ae1f1399f simplify dns-sd/mdns code 2018-02-02 19:53:08 +01:00
Sasha Hilton b22f252abd
Add missing " 2018-02-02 05:14:00 +01:00
Sasha Hilton 407e23b311
Merge branch 'master' into jackaudio 2018-02-02 05:12:36 +01:00
Sasha Hilton f35f52cbf9 Remove redundant code 2018-02-02 05:03:59 +01:00
Sasha Hilton 932441db45
Merge pull request #112 from librespot-org/feature_dns
Feature flag for selecting dns service
2018-01-31 21:51:59 +01:00
Sasha Hilton 7a58e6d561 fix addr in wrong place 2018-01-31 12:08:23 +01:00