ccrma / chuck

ChucK Music Programming Language
http://chuck.stanford.edu/
GNU General Public License v2.0
799 stars 127 forks source link

chugin ck_info() support added to host #426

Closed gewang closed 7 months ago

gewang commented 7 months ago

chugins can now implement a "info query function" to provide chugin-specific information to be accessible from host, including:

for example, in the chugin source:

// chugin info func
CK_DLL_INFO( MyChugin )
{
    // set info
    QUERY->setinfo( QUERY, CHUGIN_INFO_AUTHORS, "Ana B. Croft" );
    QUERY->setinfo( QUERY, CHUGIN_INFO_CHUGIN_VERSION, "v3.6.1" );
    QUERY->setinfo( QUERY, CHUGIN_INFO_DESCRIPTION, "what does it do?" );
    QUERY->setinfo( QUERY, CHUGIN_INFO_URL, "https://foo.com/FooBar" );
    QUERY->setinfo( QUERY, CHUGIN_INFO_EMAIL, "ana@foo.com" );
}

this information is read by the host (and will be read even if the API compatibility check fails, as long as the chugin implements the CK_DLL_INFO function)