diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 8edc760..310fa1a 100644 --- a/src/main.rs +++ b/src/main.rs | |||
@@ -19,7 +19,7 @@ mod utils; | |||
19 | use utils::*; | 19 | use utils::*; |
20 | 20 | ||
21 | use dbus_api::sink::OrgPulseAudioExtEqualizing1Equalizer; | 21 | use dbus_api::sink::OrgPulseAudioExtEqualizing1Equalizer; |
22 | use failure::Error; | 22 | use failure::{Error, ResultExt}; |
23 | use structopt::StructOpt; | 23 | use structopt::StructOpt; |
24 | 24 | ||
25 | use std::fs::File; | 25 | use std::fs::File; |
@@ -115,6 +115,9 @@ fn main() { | |||
115 | Ok(()) => (), | 115 | Ok(()) => (), |
116 | Err(err) => { | 116 | Err(err) => { |
117 | eprintln!("Error: {}", err); | 117 | eprintln!("Error: {}", err); |
118 | for cause in err.iter_causes() { | ||
119 | eprintln!(" : {}", cause); | ||
120 | } | ||
118 | std::process::exit(-1); | 121 | std::process::exit(-1); |
119 | } | 122 | } |
120 | } | 123 | } |
@@ -133,8 +136,12 @@ fn start() -> Result<(), Error> { | |||
133 | } | 136 | } |
134 | 137 | ||
135 | fn reset(args: ResetCli) -> Result<(), Error> { | 138 | fn reset(args: ResetCli) -> Result<(), Error> { |
136 | let conn = connect()?; | 139 | let conn = connect().context( |
137 | let conn_sink = get_equalized_sink(&conn)?; | 140 | "Could not connect to PulseAudio's D-Bus socket. Have you loaded the 'module-dbus-protocol' module?" |
141 | )?; | ||
142 | let conn_sink = get_equalized_sink(&conn).context( | ||
143 | "Could not find an equalized sink. Have you loaded the 'module-equalizer-sink' module?", | ||
144 | )?; | ||
138 | let filter_rate = conn_sink.get_filter_sample_rate()?; | 145 | let filter_rate = conn_sink.get_filter_sample_rate()?; |
139 | let filter = Filter { | 146 | let filter = Filter { |
140 | preamp: 1f64, | 147 | preamp: 1f64, |
@@ -148,8 +155,12 @@ fn reset(args: ResetCli) -> Result<(), Error> { | |||
148 | } | 155 | } |
149 | 156 | ||
150 | fn load(args: LoadCli) -> Result<(), Error> { | 157 | fn load(args: LoadCli) -> Result<(), Error> { |
151 | let conn = connect()?; | 158 | let conn = connect().context( |
152 | let conn_sink = get_equalized_sink(&conn)?; | 159 | "Could not connect to PulseAudio's D-Bus socket. Have you loaded the 'module-dbus-protocol' module?" |
160 | )?; | ||
161 | let conn_sink = get_equalized_sink(&conn).context( | ||
162 | "Could not find an equalized sink. Have you loaded the 'module-equalizer-sink' module?", | ||
163 | )?; | ||
153 | 164 | ||
154 | let filter = if args.file == "-" { | 165 | let filter = if args.file == "-" { |
155 | let stdin = io::stdin(); | 166 | let stdin = io::stdin(); |