mirror of
https://github.com/librespot-org/librespot.git
synced 2024-11-08 16:45:43 +00:00
--initial-volume as parameter
This commit is contained in:
parent
9e51977885
commit
8313da522b
4 changed files with 21 additions and 11 deletions
14
Cargo.lock
generated
14
Cargo.lock
generated
|
@ -1,10 +1,3 @@
|
||||||
[root]
|
|
||||||
name = "librespot-protocol"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "aho-corasick"
|
name = "aho-corasick"
|
||||||
version = "0.6.3"
|
version = "0.6.3"
|
||||||
|
@ -353,6 +346,13 @@ dependencies = [
|
||||||
"protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "librespot-protocol"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linear-map"
|
name = "linear-map"
|
||||||
version = "1.2.0"
|
version = "1.2.0"
|
||||||
|
|
|
@ -121,4 +121,5 @@ impl Default for PlayerConfig {
|
||||||
pub struct ConnectConfig {
|
pub struct ConnectConfig {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub device_type: DeviceType,
|
pub device_type: DeviceType,
|
||||||
|
pub volume: i32,
|
||||||
}
|
}
|
||||||
|
|
13
src/main.rs
13
src/main.rs
|
@ -100,7 +100,8 @@ fn setup(args: &[String]) -> Setup {
|
||||||
.optflag("", "disable-discovery", "Disable discovery mode")
|
.optflag("", "disable-discovery", "Disable discovery mode")
|
||||||
.optopt("", "backend", "Audio backend to use. Use '?' to list options", "BACKEND")
|
.optopt("", "backend", "Audio backend to use. Use '?' to list options", "BACKEND")
|
||||||
.optopt("", "device", "Audio device to use. Use '?' to list options", "DEVICE")
|
.optopt("", "device", "Audio device to use. Use '?' to list options", "DEVICE")
|
||||||
.optopt("", "mixer", "Mixer to use", "MIXER");
|
.optopt("", "mixer", "Mixer to use", "MIXER")
|
||||||
|
.optopt("", "initial-volume", "Initial volume in %, once connected", "VOLUME");
|
||||||
|
|
||||||
let matches = match opts.parse(&args[1..]) {
|
let matches = match opts.parse(&args[1..]) {
|
||||||
Ok(m) => m,
|
Ok(m) => m,
|
||||||
|
@ -133,6 +134,14 @@ fn setup(args: &[String]) -> Setup {
|
||||||
let mixer_name = matches.opt_str("mixer");
|
let mixer_name = matches.opt_str("mixer");
|
||||||
let mixer = mixer::find(mixer_name.as_ref())
|
let mixer = mixer::find(mixer_name.as_ref())
|
||||||
.expect("Invalid mixer");
|
.expect("Invalid mixer");
|
||||||
|
let initial_volume;
|
||||||
|
if matches.opt_present("initial-volume"){
|
||||||
|
initial_volume = matches.opt_str("initial-volume").unwrap().parse::<i32>().unwrap()* 0xFFFF as i32 / 100 ;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
initial_volume = 0x8000 as i32;
|
||||||
|
}
|
||||||
|
info!("Volume \"{}\" !", initial_volume);
|
||||||
|
|
||||||
let name = matches.opt_str("name").unwrap();
|
let name = matches.opt_str("name").unwrap();
|
||||||
let use_audio_cache = !matches.opt_present("disable-audio-cache");
|
let use_audio_cache = !matches.opt_present("disable-audio-cache");
|
||||||
|
@ -180,6 +189,7 @@ fn setup(args: &[String]) -> Setup {
|
||||||
ConnectConfig {
|
ConnectConfig {
|
||||||
name: name,
|
name: name,
|
||||||
device_type: device_type,
|
device_type: device_type,
|
||||||
|
volume: initial_volume,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -342,4 +352,3 @@ fn main() {
|
||||||
|
|
||||||
core.run(Main::new(handle, setup(&args))).unwrap()
|
core.run(Main::new(handle, setup(&args))).unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,9 +142,9 @@ impl Spirc {
|
||||||
|
|
||||||
let (cmd_tx, cmd_rx) = mpsc::unbounded();
|
let (cmd_tx, cmd_rx) = mpsc::unbounded();
|
||||||
|
|
||||||
let volume = 0x8000;
|
let volume = config.volume as u16;
|
||||||
let device = initial_device_state(config, volume);
|
let device = initial_device_state(config, volume);
|
||||||
mixer.set_volume(volume);
|
mixer.set_volume(volume as u16);
|
||||||
|
|
||||||
let mut task = SpircTask {
|
let mut task = SpircTask {
|
||||||
player: player,
|
player: player,
|
||||||
|
|
Loading…
Reference in a new issue