Commit f9c11116 authored by Stefan Westerfeld's avatar Stefan Westerfeld

Support --quiet argument (suppresses info() messages).

Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
parent 36378658
...@@ -7,5 +7,4 @@ streaming: ...@@ -7,5 +7,4 @@ streaming:
- mp3 indexing / detect (resync-limit) - mp3 indexing / detect (resync-limit)
- final documentation - final documentation
- --snr - --snr
- --quiet
- ab init lazy - ab init lazy
...@@ -41,6 +41,7 @@ print_usage() ...@@ -41,6 +41,7 @@ print_usage()
printf (" --strength <s> set watermark strength [%.6g]\n", Params::water_delta * 1000); printf (" --strength <s> set watermark strength [%.6g]\n", Params::water_delta * 1000);
printf (" --linear disable non-linear bit storage\n"); printf (" --linear disable non-linear bit storage\n");
printf (" --key <file> load watermarking key from file\n"); printf (" --key <file> load watermarking key from file\n");
printf (" -q, --quiet disable information messages\n");
} }
static bool static bool
...@@ -260,6 +261,11 @@ parse_options (int *argc_p, ...@@ -260,6 +261,11 @@ parse_options (int *argc_p,
Params::raw_input_format.set_sample_rate (r); Params::raw_input_format.set_sample_rate (r);
Params::raw_output_format.set_sample_rate (r); Params::raw_output_format.set_sample_rate (r);
} }
else if (check_arg (argc, argv, &i, "--quiet")
|| check_arg (argc, argv, &i, "-q"))
{
set_log_level (Log::WARNING);
}
} }
/* resort argc/argv */ /* resort argc/argv */
......
...@@ -91,18 +91,27 @@ vec_to_hex_str (const vector<unsigned char>& vec) ...@@ -91,18 +91,27 @@ vec_to_hex_str (const vector<unsigned char>& vec)
return s; return s;
} }
enum class Log { ERROR, WARNING, INFO, DEBUG }; static Log log_level = Log::INFO;
void
set_log_level (Log level)
{
log_level = level;
}
static void static void
logv (Log log, const char *format, va_list vargs) logv (Log log, const char *format, va_list vargs)
{ {
char buffer[1024]; if (log >= log_level)
{
char buffer[1024];
vsnprintf (buffer, sizeof (buffer), format, vargs); vsnprintf (buffer, sizeof (buffer), format, vargs);
/* could support custom log function here */ /* could support custom log function here */
fprintf (stderr, "%s", buffer); fprintf (stderr, "%s", buffer);
fflush (stderr); fflush (stderr);
}
} }
void void
......
...@@ -37,6 +37,10 @@ void warning (const char *format, ...) AUDIOWMARK_PRINTF (1, 2); ...@@ -37,6 +37,10 @@ void warning (const char *format, ...) AUDIOWMARK_PRINTF (1, 2);
void info (const char *format, ...) AUDIOWMARK_PRINTF (1, 2); void info (const char *format, ...) AUDIOWMARK_PRINTF (1, 2);
void debug (const char *format, ...) AUDIOWMARK_PRINTF (1, 2); void debug (const char *format, ...) AUDIOWMARK_PRINTF (1, 2);
enum class Log { ERROR = 3, WARNING = 2, INFO = 1, DEBUG = 0 };
void set_log_level (Log level);
class Error class Error
{ {
public: public:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment