[FFmpeg-cvslog] r20822 - in trunk: ffmpeg.c ffplay.c
Sun Dec 13 17:36:54 CET 2009
On date Sunday 2009-12-13 16:33:43 +0100, Michael Niedermayer wrote:
> On Sun, Dec 13, 2009 at 04:15:16PM +0100, Stefano Sabatini wrote:
> > On date Sunday 2009-12-13 14:49:14 +0100, michael wrote:
> > > Author: michael
> > > Date: Sun Dec 13 14:49:14 2009
> > > New Revision: 20822
> > >
> > > Log:
> > > Show help if no cmd line options are provided at all.
> > > This safes the users time to find out which of -h --help -? works.
> > I consider this a bad UI policy, a program should show help only when
> > it is explicitely requested to do so, that's generating a lot of
> > output when the only message displayed should be: "ehy you need to
> > specify a file".
> i dont agree, maybe it could be abbreviated but just what you suggest
> is not usefull. Any user alraedy knows he has to specify a file
Thinking twice at it this is not true, consider -version.
So a better behavior would be:
No arguments specified. Use the -h option for showing the inline help message.
This is both more correct and less obstrusive.
Well I know that many CLI programs implement this behavior (no
arguments -> show help), but I always found that weird and subtlely
wrong, as this is doing the program to act in a way which wasn't
explicitely requested, I'd prefer to simply *suggest* to the user what
she may want to do rather than making the program act like that.
> > And BTW, yes the user is supposed to read the man page at some point,
> > at least to see how to ask for help.
> i know its popular in FOSS to make software hard to use.
> Still its my oppinion that software should be designed to be useable
> based on common sense and not designed to require reading a manual.
So you're suggesting that the user should know by common sense what
the ffmpeg options mean?
If we want to make ffmpeg more common-sense-proof we could simply add
one or more aliases for -h, this only requires a corresponding number
of lines of code.
> > Also no-one is preventing us to create an alias for "-h".
> > > Modified:
> > > trunk/ffmpeg.c
> > > trunk/ffplay.c
> > >
> > > Modified: trunk/ffmpeg.c
> > > ==============================================================================
> > > --- trunk/ffmpeg.c Sun Dec 13 11:07:08 2009 (r20821)
> > > +++ trunk/ffmpeg.c Sun Dec 13 14:49:14 2009 (r20822)
> > > @@ -3985,6 +3985,9 @@ int main(int argc, char **argv)
> > > /* parse options */
> > > parse_options(argc, argv, options, opt_output_file);
> > >
> > > + if(nb_output_files <= 0 && nb_input_files == 0)
> > > + show_help();
> > This is especially disturbing in the case:
> > ffmpeg in.avi ... out.avi #yes I perfectly know the syntax but I forgot to add an -i
> > [lot of unsolicited help]
> stop the rant, the code does not print the help in this case
More information about the ffmpeg-cvslog