[gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Chris Grigg <gmpi-public@xxxxxxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Tue, 13 Dec 2005 15:11:21 -0800
There's a significant cultural bias in 8-bit-char thinking. Think of
people who might want to use Asian languages for patch or parameter
names, etc.
-- Chris G.
Note
that this is a portability prroblem, too. ... Routines like
strcpy all need
to be sepcial-cased.
Can we simply say that GMPI keeps all strings in UTF-8 and that conversion
is the responsibility of the host?
It's not that simple. You can't treat UTF-8 like ascii, it's a
multi-byte char set. strlen() etc will fail.
Multi-byte string handling can be 10 to 100 times slower than the
fixed-size alternatives.
Even on Linux, It's better to use wchar_t internally, and use C
library functions to convert to external character encodings. That
gives us UTF-8 support plus 'free' support for language-specific
extensions to ASCII like shift-JIS (Japan) or ISO 8859 (Europe).
I suggest we use wchar_t exclusively to provide the best
cross-platform support, the same plugin code on Linux and PC.
String manipulation is simple and fast. No special cases.
Jeff
----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules: Please stay on topic. You are responsible for your own
words. Please respect your fellow subscribers. Please do not
redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- References:
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Jeff McClintock
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Jeff McClintock
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Jeff McClintock
Other related posts:
- » [gmpi] Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- » [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
Note
that this is a portability prroblem, too. ... Routines like strcpy all need
to be sepcial-cased.
Can we simply say that GMPI keeps all strings in UTF-8 and that conversion is the responsibility of the host?
It's not that simple. You can't treat UTF-8 like ascii, it's a multi-byte char set. strlen() etc will fail.
Multi-byte string handling can be 10 to 100 times slower than the fixed-size alternatives.
Even on Linux, It's better to use wchar_t internally, and use C library functions to convert to external character encodings. That gives us UTF-8 support plus 'free' support for language-specific extensions to ASCII like shift-JIS (Japan) or ISO 8859 (Europe).
I suggest we use wchar_t exclusively to provide the best cross-platform support, the same plugin code on Linux and PC. String manipulation is simple and fast. No special cases.
Jeff
---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Jeff McClintock
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Jeff McClintock
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: thockin
- [gmpi] Re: Querying a plugin's structure (params, IOs, etc)
- From: Jeff McClintock