[speex-dev] Re: does installed lib support _int()s ?

Malcolm Baldridge speex at paypc.com
Sun May 16 18:08:14 PDT 2004

> Right now, I'm thinking of adding a speex_lib_ctl() call that would
> support SPEEX_GET_VERSION (and return a string) or
> I'm open to other suggestions though. If there's anything you'd like to
> see in the API for 1.2, say it now. ...and no, I won't add a
> speex_do_all_the_work_for_me() call :)

May I respectfully suggest something a bit more organised and less chaotic
such as:

1) A *RUNTIME* call into the library which returns an unsigned long (32-bit)
value split up as follows:

        ^^ release level [alpha, beta, gamma, release, post-release patch#]
      ^^ minor version
  ^^^^ major version

You can partition the release level as follows:

00-2F = pre-alpha
30-4F = alpha
50-6F = beta
70-7F = gamma 
80-FF = release

1.1b17 would be: 0x00010161
2.2.35 would be: 0x000202A3

Then you can define compile-time MACROS for

#define SPEEX_GET_FULL_VERSION (speex_lib_version())
#define SPEEX_GET_MAJOR_MINOR_VERSION (speex_lib_version() >> 24)
#define SPEEX_GET_MAJOR_VERSION (speex_lib_version() >> 16)
#define SPEEX_GET_RELEASE_LEVEL (speex_lib_version() & 0xFFUL)
#define SPEEX_GET_FULL_MINOR_VERSION (speex_lib_version() & 0xffffUL)
#define SPEEX_GET_MINOR_VERSION ((speex_lib_version() >> 8) & 0xFFUL)

2) A *RUNTIME* call into the library which returns the text-version string
of the library in use.

peex_lib_version_string() perhaps?

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'speex-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Speex-dev mailing list