From 1afa06fd546c581826c701bf16ce35dbe196ac67 Mon Sep 17 00:00:00 2001 From: Samuel Mimram Date: Fri, 7 Jun 2024 18:07:59 +0200 Subject: [PATCH] only show uri. --- examples/inspect.ml | 52 +++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/examples/inspect.ml b/examples/inspect.ml index 58e01e5..66f723d 100644 --- a/examples/inspect.ml +++ b/examples/inspect.ml @@ -1,34 +1,40 @@ open Lilv +let uri_only = ref false + let show_plugin p = Printf.printf "%s\n%!" (Plugin.uri p); - Printf.printf "%s%!" (Plugin.name p); - if Plugin.author_name p <> "" then Printf.printf " by %s\n%!" (Plugin.author_name p); - Printf.printf "Class: %s\n%!" (Plugin.Class.label (Plugin.plugin_class p)); - Printf.printf "Latency: %s\n%!" (if Plugin.has_latency p then "yes" else "no"); - Printf.printf "Replaced: %s\n%!" (if Plugin.is_replaced p then "yes" else "no"); - Printf.printf "Features: %s\n%!" (String.concat ", " (List.map Node.to_uri (Plugin.supported_features p))); - Printf.printf "Required features: %s\n%!" (String.concat ", " (List.map Node.to_uri (Plugin.required_features p))); - Printf.printf "Ports: %d\n%!" (Plugin.num_ports p); - for i = 0 to Plugin.num_ports p - 1 do - let p = Plugin.port_by_index p i in - Printf.printf ". port %d, %s (%s):%!" i (Port.symbol p) (Port.name p); - if Port.is_input p then Printf.printf " input%!"; - if Port.is_output p then Printf.printf " output%!"; - if Port.is_audio p then Printf.printf " audio%!"; - if Port.is_control p then Printf.printf " control%!"; - if Port.is_connection_optional p then Printf.printf " optional connection%!"; - let d, a, b = Port.range_float p in - if compare (d, a, b) (nan, nan, nan) <> 0 then - Printf.printf " from %f to %f (default: %f)%!" a b d; - Printf.printf "\n%!" - done; - Printf.printf "\n%!" + if not !uri_only then + ( + Printf.printf "%s%!" (Plugin.name p); + if Plugin.author_name p <> "" then Printf.printf " by %s\n%!" (Plugin.author_name p); + Printf.printf "Class: %s\n%!" (Plugin.Class.label (Plugin.plugin_class p)); + Printf.printf "Latency: %s\n%!" (if Plugin.has_latency p then "yes" else "no"); + Printf.printf "Replaced: %s\n%!" (if Plugin.is_replaced p then "yes" else "no"); + Printf.printf "Features: %s\n%!" (String.concat ", " (List.map Node.to_uri (Plugin.supported_features p))); + Printf.printf "Required features: %s\n%!" (String.concat ", " (List.map Node.to_uri (Plugin.required_features p))); + Printf.printf "Ports: %d\n%!" (Plugin.num_ports p); + for i = 0 to Plugin.num_ports p - 1 do + let p = Plugin.port_by_index p i in + Printf.printf ". port %d, %s (%s):%!" i (Port.symbol p) (Port.name p); + if Port.is_input p then Printf.printf " input%!"; + if Port.is_output p then Printf.printf " output%!"; + if Port.is_audio p then Printf.printf " audio%!"; + if Port.is_control p then Printf.printf " control%!"; + if Port.is_connection_optional p then Printf.printf " optional connection%!"; + let d, a, b = Port.range_float p in + if compare (d, a, b) (nan, nan, nan) <> 0 then + Printf.printf " from %f to %f (default: %f)%!" a b d; + Printf.printf "\n%!" + done; + Printf.printf "\n%!" + ) let () = let count = ref false in Arg.parse [ - "--count", Arg.Set count, " Only count plugins." + "--count", Arg.Set count, " Only count plugins."; + "--uri", Arg.Set uri_only, " Only show uri." ] (fun _ -> ()) "inspect [options]"; let w = World.create () in World.load_all w;