Commit graph

349 commits

Author SHA1 Message Date
ashthespy 99106c5ae3 Rework alsa hw and mixer parameters 2019-03-22 00:00:14 +01:00
ashthespy 08cfb1516d Switch to latest alsa-rs crate 2019-03-22 00:00:14 +01:00
ashthespy a67048c3d7 Add initial support for alsamixer 2019-03-22 00:00:14 +01:00
Will Stott 99703a268f Warn when there's a Rodio failure accessing a default device formats. 2019-03-20 13:24:08 +00:00
Will Stott 5ceb4db9b8 Improve formatting and macro usage in devices list. 2019-03-20 13:24:08 +00:00
Will Stott 587aa9c711 Simple block of playback thread based on buffer size. 2019-03-20 13:24:07 +00:00
Will Stott 49fd48b42a Sink.play is not the opposite of Sink.stop in Rodio 2019-03-20 13:24:07 +00:00
Will Stott 2c2bfc52ac Cpal -> Rodio
Doesn't work that well.
2019-03-20 13:24:03 +00:00
Will Stott 1eb5b7d127 Turns out I don't have an appropriate output device. 2019-03-20 13:16:29 +00:00
Will Stott ac9423d9d9 cpal backend builds. Panics building output stream on my system. 2019-03-20 13:16:29 +00:00
Will Stott 891298171c Initial untested VecDeque concept. 2019-03-20 13:16:29 +00:00
Konstantin Seiler 43dcc6b55b Remove deft over debug message. 2019-03-10 11:46:25 +11:00
Konstantin Seiler 43959ee788 Commit missing ; 2019-03-09 20:07:45 +11:00
Konstantin Seiler 2e492e4d44 Speed up playback by avoiding unnecessary seek when playing from the beginning of a file. 2019-03-09 19:30:27 +11:00
Konstantin Seiler a3c63b4e05 Speed up loading of files by requesting file and key in parallel. 2019-03-09 19:29:47 +11:00
Harold 00e89343fb Formatting 2018-07-03 13:08:42 +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
StopMotionCuber 21f1ccfb5a Fixed Jackaudio compiling (#222) 2018-05-15 20:33:58 +02:00
Reinier Balt ab70e6ec40 run rustfmt --all 2018-04-25 19:29:50 +02:00
Reinier Balt 2aea0e8fe6 do not panic on connection reset 2018-04-21 17:46:29 +02:00
Johan Anderholm 612978908f Reformat according to new rustfmt rules 2018-03-24 08:45:43 +00:00
Thomas Bächler 0c18aa51ad playback: pulseaudio: Panic in write if data is empty 2018-03-20 14:14:44 +01:00
Thomas Bächler 014533a583 playback: Only send a packet to the audio backend if it isn't empty
The lewton decoder sometimes delivers empty packets, especially after skipping inside a
track or switching tracks. This caused the pulseaudio backend to fail since it expects
a non-empty packet. There is no need to handle empty packets in the audio backend, so
we can skip them entirely.
2018-03-20 14:14:44 +01:00
Sasha Hilton f830322e14 Fix spotify URI logging 2018-02-28 13:35:31 +01:00
Sasha Hilton cbc4ee7554 Add to_base62 method 2018-02-28 13:29:24 +01:00
Sasha Hilton a7334b6c23 Add to_base62 method 2018-02-28 13:28:57 +01:00
Sasha Hilton 237ef1e4f9 Format according to rustfmt 2018-02-26 02:50:41 +01:00
Sasha Hilton bde157fad7
Merge branch 'master' into events-on-prev-next 2018-02-24 20:16:28 +01:00
Sasha Hilton 542ec9d3b5 Minor style changes to normalisation code 2018-02-24 16:30:24 +01:00
Simon Persson 8c3f587f30 Assignment instead of mem::repalce() 2018-02-24 10:50:48 +01:00
Sasha Hilton 127f8b7bab Add constant for readability 2018-02-23 20:52:28 +01:00
Sasha Hilton fc6c414e71 [ci skip] Correct spelling 2018-02-23 20:33:58 +01:00
Simon Persson 1518459048 Minor fixes after review. 2018-02-23 20:16:03 +01:00
Sasha Hilton f8db550e5e Add volume normalisation support 2018-02-23 20:08:20 +01:00
Simon Persson 9ff6fe900c Don't log messages when sending player events over channel. 2018-02-20 23:31:33 +01:00
Simon Persson 93af49aadf Send player event messages over futures aware channel. 2018-02-20 23:12:29 +01:00
Simon Persson 081a282e12 Removed unreachable cases. 2018-02-20 22:09:53 +01:00
Simon Persson ef48afbf41 Simplify match with if let. 2018-02-20 22:05:05 +01:00
Simon Persson 3e2e6d63f7 Send Changed event after song change even if we stop playback. 2018-02-20 22:03:21 +01:00
Simon Persson 0a6825ba61 Add playing_to_end_of_track method to PlayerState. 2018-02-20 21:58:02 +01:00
Simon Persson 1b943d069f Move PlayerEvent into player. 2018-02-20 21:57:42 +01:00
Simon Persson b0ee03112f First attempt at a better playback event system. 2018-02-16 00:16:38 +01:00
Simon Persson 77bea07c4f Run onstart/onstop when a new song is loaded 2018-02-14 23:39:44 +01:00
awiouy 4c2b641cad core API: move spotify_id to lib.rs 2018-02-13 07:57:28 +01:00
awiouy 191caca518 core API: move Bitrate and PlayerConfig from core to playback 2018-02-11 23:55: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
Sasha Hilton 930bc3f841 Remove default option iin playback/Cargo.toml 2018-02-10 01:44:26 +01:00
Sasha Hilton 1fb65354b0 Move audio backends into seperate crate 2018-02-09 02:05:50 +01:00