Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vade retro sphinxbase #295

Merged
merged 57 commits into from
Sep 16, 2022
Merged

Vade retro sphinxbase #295

merged 57 commits into from
Sep 16, 2022

Conversation

dhdaines
Copy link
Contributor

Big, huge, dramatic API change (as promised, vaguely). SphinxBase is no more, and the configuration API has changed quite a bit - options are no longer "command-line arguments" and thus are no longer prefixed with dashes when calling ps_config_* functions. This will break your code (unless it is in Python, in which case you should be okay).

This came from a desire to repatriate the configuration API into <pocketsphinx.h> and also make it a proper ABI instead of some random macros. It became obvious that there was no way to do this without pulling in a lot of headers that, to put it charitably, have seen better days. There was a huge mess of cross-inclusion and lots of functions and structures that really shouldn't exist, but certainly shouldn't be made public.

Some of the other SphinxBase APIs have also been repatriated, namely the LM and FSG. I have only exposed functions that don't depend on internal implementation details. The Python bindings have privileged access to internal stuff, but it should be possible to write reasonable $OTHER_LANGUAGE bindings using the public headers - one of the goals here is to make it easier to use FFI or, yes, that other thing that starts with S and ends with G.

still need to figure out what to do about a few of them
@dhdaines dhdaines marked this pull request as ready for review September 15, 2022 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant