-define(OPTIONS, [ {buffer, global, "--buffer", [{{erlang, is_integer}, to_arg}]}, {input_buffer, global, "--input-buffer", [{{erlang, is_integer}, to_arg}]}, {clobber, global, "--clobber", [{{vice_prv_options, is_true}, to_nothing}]}, {combine, global, "--combine", [{{vice_prv_options, is_in, [concatenate, merge, mix, 'mix-power', multiply, sequence]}, to_arg}]}, {no_dither, global, "--no-dither", [{{vice_prv_options, is_true}, to_nothing}]}, {effects_file, global, "--effects-file", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}]}, {guard, global, "--guard", [{{vice_prv_options, is_true}, to_nothing}]}, {magic, global, "--magic", [{{vice_prv_options, is_true}, to_nothing}]}, {multi_threaded, global, "--multi-threaded", [{{vice_prv_options, is_true}, to_nothing}]}, {single_threaded, global, "--single_threaded", [{{vice_prv_options, is_true}, to_nothing}]}, {norm, global, "--norm", [{{vice_prv_options, is_true}, to_nothing}, {{erlang, is_integer}, to_equal_arg}]}, {play_rate_arg, global, "--play-rate-arg", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}]}, {plot, global, "--plot", [{{vice_prv_options, is_in, [gnuplot, octave, off]}, to_arg}]}, % --no-show-progress {repeatable, global, "-R", [{{vice_prv_options, is_true}, to_nothing}]}, {replay_gain, global, "--replay-gain", [{{vice_prv_options, is_in, [track, album, off]}, to_arg}]}, {show_progress, global, "--show-progress", [{{vice_prv_options, is_true}, to_nothing}]}, {temp, global, "--temp", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}]}, {ignore_length, input, "--ignore-length", [{{vice_prv_options, is_true}, to_nothing}]}, {volume, input, "--volume", [{{erlang, is_float}, to_arg}]}, {input_bits, input, "--bits", [{{erlang, is_integer}, to_arg}]}, {input_channels, input, "--channels", [{{erlang, is_integer}, to_arg}]}, {input_encoding, input, "--encoding", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}]}, {input_rate, input, "--rate", [{{erlang, is_integer}, to_arg}]}, {input_rate_k, input, "--rate", [{{erlang, is_integer}, to_karg}]}, {input_type, input, "--type", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}, {{erlang, to_atom}, to_arg}]}, {input_endian, input, "--endian", [{{vice_prv_options, is_in, [little, big, swap]}, to_arg}]}, {input_reverse_nibbles, input, "--reverse-nibbles", [{{vice_prv_options, is_true}, to_nothing}]}, {input_reverse_bits, input, "--reverse-bits", [{{vice_prv_options, is_true}, to_nothing}]}, {output_encoding, output, "--encoding", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}]}, {output_bits, output, "--bits", [{{erlang, is_integer}, to_arg}]}, {output_channels, output, "--channels", [{{erlang, is_integer}, to_arg}]}, {output_rate, output, "--rate", [{{erlang, is_integer}, to_arg}]}, {output_rate_k, output, "--rate", [{{erlang, is_integer}, to_karg}]}, {output_type, output, "--type", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}, {{erlang, to_atom}, to_arg}]}, {output_endian, output, "--endian", [{{vice_prv_options, is_in, [little, big, swap]}, to_arg}]}, {output_reverse_nibbles, output, "--reverse-nibbles", [{{vice_prv_options, is_true}, to_nothing}]}, {output_reverse_bits, output, "--reverse-bits", [{{vice_prv_options, is_true}, to_nothing}]}, {add_comment, output, "--add-comment", [{{erlang, is_list}, to_quote_arg}, {{erlang, is_binary}, to_quote_arg}]}, {comment, output, "--comment", [{{erlang, is_list}, to_quote_arg}, {{erlang, is_binary}, to_quote_arg}]}, {comment_file, output, "--comment-file", [{{erlang, is_list}, to_quote_arg}, {{erlang, is_binary}, to_quote_arg}]}, {compression, output, "--compression", [{{erlang, is_integer}, to_arg}]}, {effects, effects, "", [{{erlang, is_list}, to_arg}, {{erlang, is_binary}, to_arg}]} ]).