Paul Lietar
d59f3eff81
Remove AudioFileManager and MetadataManager since they are stateless.
2017-08-03 19:37:21 +01:00
Paul Lietar
72070b6ce0
Allow device type to be chosen.
...
Fix #187
2017-08-03 19:31:15 +01:00
Paul Lietar
7ae919b1f7
Skip song if it fails to load
2017-04-29 15:18:16 +01:00
Paul Lietar
d940ed161a
Allow switching user accounts at runtime
...
Fixes #130
2017-02-22 04:18:27 +00:00
Paul Lietar
2708aa4fef
Merge remote-tracking branch 'origin/master'
2017-02-21 22:46:19 +00:00
Paul Lietar
5974cf7f24
Fixes for PR #148
2017-02-21 21:49:45 +00:00
Paul Lietar
19b06ae5fb
Update dependencies.
...
Rust 1.15 is now required.
2017-02-09 01:27:52 +00:00
Daniel Romero
2c187eb3ae
Avoid copying the data array in the player
2017-02-03 13:22:49 +01:00
Daniel Romero
da537b57f4
AudioFilter: Modify fn modify_stream(&self, data: &mut [i16]);
2017-02-03 13:22:49 +01:00
Daniel Romero
e547a0c3da
Changes code review
2017-02-03 13:22:49 +01:00
Daniel Romero
636de3fe71
Use stream_editor in player
2017-02-03 13:22:49 +01:00
Daniel Romero
59398b3cee
Remove mixer from Player and add it to SpircManager
2017-02-03 13:22:49 +01:00
Daniel Romero
347bf05dbe
Refactored to have apply_volume in a specifix mixer
2017-02-03 13:22:49 +01:00
Paul Lietar
9873eaf2a0
Better handling of shutdown
2017-01-31 08:21:30 +00:00
Paul Lietar
bbc438d9b2
Clippy run
2017-01-29 17:20:12 +00:00
Paul Lietar
17482c236a
Stop caching audio keys, reenable audio file cache
2017-01-29 15:36:39 +00:00
Paul Lietar
8aeb266a2d
Refactor player and spirc
2017-01-29 15:02:12 +00:00
Paul Lietar
0da9020ad3
Store DeviceState directly into SpircTask
2017-01-20 14:44:13 +00:00
Paul Lietar
bcedfefaa9
Move spirc to tokio
2017-01-20 13:28:13 +00:00
Paul Lietar
379c90c0b2
Move audio_file and channels to tokio
2017-01-20 01:59:47 +00:00
Paul Lietar
05118b40f8
Move MetadataManager to use tokio
2017-01-20 01:59:47 +00:00
Paul Lietar
855a7e87a7
Move AudioKeyManager to tokio
2017-01-20 01:59:47 +00:00
Simon Persson
b828e4d528
Improve log strings and never log to stdout.
2017-01-06 15:21:44 +01:00
Paul Lietar
7ba3d766c0
Reduce log verbosity by default.
...
Fixes #141
2017-01-05 14:25:14 +01:00
Jörg Krause
64b8b5f91a
Don't panic on error InitialFileHeadersCorrupt
2016-12-31 12:56:09 +01:00
Jörg Krause
1d3c387fed
Add --on{start,stop} command line option
...
The --onstart and --onstop command line options can be used to run a
program when the audio playback is about to begin or has ended.
Note, that librespot needs executions rights to run the program.
Furthermore, the full path needs to be specified, e.g.
`/usr/bin/logger`. Executable scripts must begin with a shebang, e.g.
`#!/bin/sh`.
2016-09-08 20:52:21 +02:00
herrernst
ceb375f37e
close stream on stop
2016-08-03 21:48:25 +02:00
Paul Lietar
decce02373
Be a bit less verbose
2016-07-06 02:29:50 +01:00
Paul Lietar
ed14c3469b
track: Use a linear map to store files by format.
2016-05-04 10:03:46 +01:00
Paul Lietar
dde613e0a0
player: skip unavailable tracks rather than crash
...
Fixes #74
2016-05-04 09:11:27 +01:00
Paul Lietar
f50fca02ae
player: Add seek_at command for precise seeking
2016-04-24 14:48:15 +01:00
Tor Arne Vestbø
e08ed545ee
Use log crate instead of println
...
Allows more granular control over what gets logged to the console.
2016-04-23 13:35:00 +02:00
Paul Lietar
b8b0f9c36e
Fix seconds to milliseconds conversion in vorbis_time_tell_ms.
2016-04-23 00:09:19 +01:00
Paul Lietar
968a39a131
Make audio backend configurable at run time.
2016-03-20 16:16:20 +00:00
Paul Lietar
9274a6bfb3
Refactor audio output to make it more modular.
...
This makes the player less hard coded to portaudio, and easier to
experiment with different backends.
2016-03-14 00:49:21 +00:00
Paul Lietar
60db12ee9e
Add missing semicolon.
...
Somehow syntex allows this, so it was missed in the previous commit.
2016-03-13 15:23:56 +00:00
Paul Lietar
ac5b34927f
Support using tremor instead of libvorbis for audio decoding.
...
Tremor is a fixed point / integer only Vorbis decoder.
This should improve playback performances on embedded platforms lacking
hardware floating point support.
2016-03-13 15:15:15 +00:00
Paul Lietar
de357e63c9
player: Update the position on pause/play events.
2016-02-24 00:36:19 +00:00
Paul Lietar
c700315b30
Fix a deadlock between SpircManager and Player.
...
The player was invoking its observers with the state locked, and the
SpircManager’s registered observer would try to lock it again.
Instead, the observers are invoked with a cloned state, and the SpircManager
avoids locking the state again.
2016-02-22 05:41:37 +00:00
Paul Lietar
526c54702b
Set the default volume to 100%, and add a fast path to volume control.
2016-02-05 20:54:47 +00:00
Paul Lietar
7a1db5f5a9
Encapsulate the session data and configuration.
2016-01-26 22:34:57 +00:00
Paul Lietar
8fed885595
Reorganize the spirc/player interaction.
...
Updates are now sent through a callback mechanism rather than a channel.
2016-01-20 15:52:50 +00:00
Paul Lietar
463ce97661
Remove the SpircDelegate abstraction
2016-01-20 14:11:49 +00:00
Paul Lietar
303121032d
Store the volume as a u16
2016-01-20 13:55:36 +00:00
Erik
4310162b88
Fixed the multiple volume vars and the calculation is a bit simplified.
2016-01-15 01:12:08 +01:00
Erik
17a5bb122a
Added Volume in a fishy manner by modulating stream, could maybe be optimized.
2016-01-14 13:12:01 +01:00
Paul Lietar
fd6b805bfd
Fix some clippy warnings.
2016-01-02 16:48:44 +01:00
Paul Lietar
90eeed3f80
rustfmt
2016-01-02 16:20:35 +01:00
Paul Lietar
f8956166ea
Add option to specify bitrate.
2016-01-02 03:30:24 +01:00
Paul Lietar
bead9daf78
Add zeroconf based authentication.
2016-01-02 00:27:08 +01:00