Forums before death by AOL, social media and spammers... "We can't have nice things"
|    comp.os.vms    |    DEC's VAX* line of computers & VMS.    |    264,096 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 262,374 of 264,096    |
|    Lawrence D'Oliveiro to All    |
|    Local Versus Global Command Options    |
|    13 Feb 25 22:52:44    |
      From: ldo@nz.invalid              One thing about DCL syntax is its ability to specify options (what it       calls “qualifiers”) either globally for the command, or locally to a       particular command argument:               «cmd»/«global-options» «arg1» «arg2» ...              where each «arg» can take the form               «subarg1»/«local-options-1»,«subarg2»/«local-options-2», ...              and then I think you can have plus signs as well as commas, to denote       another level of concatenation. And then you can put spaces       before/after commas and plus signs, and those are ignored and not       considered separators between arguments. So the presence or absence of       a comma or plus sign can become quite significant.              The traditional *nix command syntax never had provision for this. Most       commands take the fairly simple form               «cmd» «options» «args»              where each of «options» and «args», if nonempty consists of one or       more space-separated items, and all «options» are assumed to have       global effect, though some can add quite a lot of elaboration on this       where necessary.              (Did somebody say “dd”? Passing arguments by keyword, anybody?)              What’s the most complex *nix command you’ve come across? I think it       has to be ffmpeg. This looks broadly like               ffmpeg «local-input-options-1» -i «infile-1» \        «local-input-options-2» -i «infile-2» ... \        «local-output-options-1» «outfile-1» \        «local-output-options-2» «outfile-2» ...              The convention is that options apply to the immediately following file       specification: this is prefixed with “-i” for an input file, and is a       plain argument for an output file. Note the lack of “global” options:       all settings apply to a particular file.              But that’s not where it ends. Certain of the options can specify       “filtergraphs”, which are entire chains of effects operations to be       applied to a particular video or audio stream. The man page talks       about “simple” versus “complex” filtergraphs, but even the “simple”       ones can be pretty complex.              Filtergraphs can also be used during real-time playback, with the       “ffplay” command. For example:               ffplay -autoexit -vf scale=1152:864,setsar=0.9 \        'Sun Is Shining (Official Video).mp4'              That “-vf” option specifies a sequence of video filters, first to       scale up the video to make more use of my screen, and “setsar” (“Set       Source Aspect Ratio”) to fix distortion in the shape of the image       (everybody looking squashed) from the original digitization of the       video.              What would DCL-style syntax for ffmpeg look like? I suppose one       obvious equivalence would be               ffmpeg -        «infile-1»/«local-input-options-1»,«infile-2»/«lo       al-input-options-2»,... -        «outfile-1»/«local-output-options-1»,«outfile-2»/       local-output-options-2»,... -              (being very careful about where the commas go), but what about the       syntax for filtergraphs? Would it be something like               /vf=(«filter-name-1»=«filter-params-1»,«filter-name-2»       «filter-params-2»...)              Does DCL have provision for this sort of complexity?              --- SoupGate-DOS v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca