Closed herzbube closed 3 years ago
Preliminary ideas:
-E1
= Default-E2
-E1
and -E2
-E3
must not be offered because the marshaling of string data between libsgfc++ and SgfcKit always uses UTF-8. In fact -E3
will likely be removed from SgfcKit because of this.[]
in the SGF content) generates error 17, SGFC removes the offending property which generally results in SGF content that is then processable.-d
Always use the following arguments:
SGFCArgumentTypeDeleteEmptyNodes
. Because of this we should also add SGFCMessageIDEmptyNodeDeleted
to the list of warnings that we ignore.Expose the following arguments in addition to the stuff from the previous comment:
SGFCArgumentTypeDisableWarningMessages
: Useful instead of silencing individual message IDs.SGFCArgumentTypeEnableRestrictiveChecking
: Adventurous souls might find this interesting.SGFCArgumentTypeReverseVariationOrdering
: Because Little Go only reads the main variation this option might be important.DefaultEncoding
: Another option that might be important in order to be able to read files. Since iconv
does not offer a function that lists the encodings supported on that particular system, the user will have to enter the encoding name in free form. Validation of the entered encoding name is possible by executing iconv_open()
and specifying the encoding as the "fromcode" parameter (SGFC always uses UTF-8 for the "tocode" parameter).ForcedEncoding
: DittoThe following messages should be ignored by default:
SGFCMessageIDEmptyValueDeleted
: The SGFC docs for -d
suggest this as a possible non-critical message that could be safely ignored.SGFCMessageIDPropertyNotDefinedInFF
: DittoSGFCMessageIDEmptyNodeDeleted
(this is generated only if SGFCArgumentTypeDeleteEmptyNodes
is used)SGFCMessageIDGameIsNotGo
: We simply ignore such games. This is a critical warning.SGFCMessageIDMoreThanOneGameTree
: We list all game trees, so notifying the user about this is not necessary. This is generated only if SGFCArgumentTypeEnableRestrictiveChecking
is used.Simplified settings:
SGFCArgumentTypeEnableRestrictiveChecking
Can the encoding options also be incorporated?
With the integration of SgfcKit the project now has full control over how to load and save SGF files. Expose some of the large number of processing options offered by the underlying SGFC in the app's UI.