- in short (default) help, offer the most often used options only
- print the available codecs/connections inline
- print opts "one-line" (or multiple line but with description starting
on the line); this makes it compatible with vdisp/decklink
- hide old positional syntax (shown in full-help), :help not red
The original noisiness 30 seem to be too much to be default - with default
compression JPEG or H.264 it produces high-bitrate stream. The new value
200 may better approximate real-life complexity video.
If the frame sizes become big, let say >1 MB, it is really hard to see
the order of magnitude visually.
This slightly hardens parsing the dumped frame sizes in batch but it
shouldn't a big problem (tr(1) or sed(1) will remove them).
not much importatnt but rather for the tools (clang-ticy, perhaps also
Coverity) not to complain about use of rand()
also use (UCHAR_MAX + 1) instead of 256 (for warning fix only)
Issue a warning eg. when -c option used without -t, in which case the
compression does nothing. This avoids either omitting an option by
mistake (here `-t`) or vice versa passing an extra parameter (either by
accident or not knowing that not usable in the context).
- return on errors
- do not set the position when neither display/x/y was set (prevent
Wayland errors)
- check that the only x/y or display was set (not both position and
display)
The lenght check was not functional for eg. pos=5,6 - the first number
was rejected because endpos was 1 but lenght of the string 3.
broken since 2025-09-05 (with the commit 4290a298)
Do not use logger. Dump tree uses plain stdout so make this the same
(the warning is currently displayed multiple times, for every ancestor
in tree and so the logger issues that the message is repeated n-times
which gets messed with the plain printfs).
+ print the SDL_SetWindowPosition in verbose mode also in
Wayland (currently always an error - we are calling it with
x/y=SDL_WINDOWPOS_CENTERED_DISPLAY(0) if nothing is specified).
The parsing made more C-string based (because IS_KEY_PREFIX expects
that). It can be made more string_view using again later but it seems
to be more short now).
this also fixes gpu=integrated|discrete
This is a bit tricky because the ID seems to be a (small) ordinal and may
potentially clash with the index... Index is considered first, this
approach may bbe re-evaluated (eg. letters for the indexes?).
The name default.sf3 is no longer required, the soundfont name is resolved
directly so use the original name. It is TimGM6mb derivative with just
piano downloaded from:
<https://musical-artifacts.com/artifacts/2642>
This simplifies things a bit at the expense that the soundfont is always
included/installed (91 kB).
Added get_data_path() function for generic handling the path to common
data (eg. /usr/local/share/ultragrid if installed). The idea is to catch
all cases - installed (run with absolute or relative path) or run from
inside the source directory in one place.