From: Jehan Date: Fri, 22 Jul 2022 09:35:58 +0000 (+0200) Subject: bin: add a --brief/-b option. X-Git-Tag: archive/raspbian/1%0.1.106-3+rpi1^2~15^2~2^2~20 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f5801b40b640d6179028d6c92c679a71e514051e;p=babl.git bin: add a --brief/-b option. This will output the result as int or float values (depending on output format), separated by space. It would allow to use the output of this script for testing conversion (with expected output), and can also be used for chaining calls, making this a re-entrant CLI tool. --- diff --git a/bin/babl.c b/bin/babl.c index 504232d..d823156 100644 --- a/bin/babl.c +++ b/bin/babl.c @@ -46,6 +46,7 @@ main (int argc, int set_to = 0; int set_from_profile = 0; int set_to_profile = 0; + int brief_output = 0; int options_ended = 0; int n_components; int data_index; @@ -130,6 +131,11 @@ main (int argc, { set_to_profile = 1; } + else if (strcmp (argv[i], "--brief") == 0 || + strcmp (argv[i], "-b") == 0) + { + brief_output = 1; + } } from_format = babl_format_with_space (from, from_space); @@ -197,6 +203,11 @@ main (int argc, { set_to_profile = 1; } + else if (strcmp (argv[i], "--brief") == 0 || + strcmp (argv[i], "-b") == 0) + { + /* Pass. */ + } else { fprintf (stderr, "babl: unknown option: %s\n", argv[i]); @@ -299,7 +310,9 @@ main (int argc, n_components = babl_format_get_n_components (to_format); data_index = 0; - printf ("Conversion as \"%s\":\n", babl_get_name (to_format)); + if (! brief_output) + printf ("Conversion as \"%s\":\n", babl_get_name (to_format)); + for (c = 0; c < n_components; c++) { const Babl *arg_type = NULL; @@ -312,7 +325,10 @@ main (int argc, data_index += 4; - printf ("- %f\n", value); + if (brief_output) + printf ("%s%f", c > 0 ? " ":"", value); + else + printf ("- %f\n", value); } else if (strcmp (babl_get_name (arg_type), "u8") == 0) { @@ -320,7 +336,10 @@ main (int argc, data_index += 1; - printf ("- %d\n", value); + if (brief_output) + printf ("%s%d", c > 0 ? " ":"", value); + else + printf ("- %d\n", value); } else if (strcmp (babl_get_name (arg_type), "u16") == 0) { @@ -328,7 +347,10 @@ main (int argc, data_index += 2; - printf ("- %d\n", value); + if (brief_output) + printf ("%s%d", c > 0 ? " ":"", value); + else + printf ("- %d\n", value); } else if (strcmp (babl_get_name (arg_type), "u32") == 0) { @@ -336,7 +358,10 @@ main (int argc, data_index += 4; - printf ("- %d\n", value); + if (brief_output) + printf ("%s%d", c > 0 ? " ":"", value); + else + printf ("- %d\n", value); } else { @@ -399,7 +424,8 @@ static void babl_cli_print_usage (FILE *stream) { fprintf (stream, - "usage: babl [options] [c1 ..]\n" + "Usage: babl [options] [c1 ..]\n" + "Convert color data from a specific Babl format and space to another.\n" "\n" " Options:\n" " -h, --help this help information\n" @@ -412,6 +438,12 @@ babl_cli_print_usage (FILE *stream) "\n" " -o, --output-profile output profile\n" "\n" - "All parameters following -- are considered components values.\n" - "The tool expects exactly the number of components expected by your input format.\n"); + " -b, --brief brief output\n" + " it can be re-entered as input for chain conversions\n" + "\n" + "All parameters following -- are considered components values. " + "This is useful to input negative components.\n\n" + "The tool expects exactly the number of components expected by your input format.\n\n" + "The default input and output formats are \"R'G'B' float\" and default space is " + "sRGB for RGB formats, or the naive CMYK space for CMYK formats.\n"); }