int c = hw_MasterControl(struct hwTagList *tags);
hwTagList to this function. hw_MasterControl() will iterate through
this taglist and set/get all the individual tags in the list. It will return the
number of tags successfully handled.
The following tags are currently recognized:
HWMCP_GETPOWERPCBASE:pData will be set to a pointer of PowerPCBase.
In all other versions, NULL will be written to pData.
HWMCP_GETAPPTITLE:@APPTITLE preprocessor
command. You have to pass a pointer to a STRPTR in pData. Hollywood will set this
STRPTR to the application's title then. Hollywood will never write NULL to the STRPTR
but it may return an empty string. (V5.2)
HWMCP_GETAPPVERSION:@APPVERSION preprocessor
command. You have to pass a pointer to a STRPTR in pData. Hollywood will set this
STRPTR to the application's version then. Hollywood will never write NULL to the STRPTR
but it may return an empty string. (V5.2)
HWMCP_GETAPPCOPYRIGHT:@APPCOPYRIGHT
preprocessor command. You have to pass a pointer to a STRPTR in pData. Hollywood will set this
STRPTR to the application's copyright text then. Hollywood will never write NULL to the STRPTR
but it may return an empty string. (V5.2)
HWMCP_GETAPPAUTHOR:@APPAUTHOR preprocessor
command. You have to pass a pointer to a STRPTR in pData. Hollywood will set this
STRPTR to the application's author then. Hollywood will never write NULL to the STRPTR
but it may return an empty string. (V5.2)
HWMCP_GETAPPDESCRIPTION:@APPDESCRIPTION preprocessor
command. You have to pass a pointer to a STRPTR in pData. Hollywood will set this
STRPTR to the application's description then. Hollywood will never write NULL to the STRPTR
but it may return an empty string. (V5.2)
HWMCP_GETAPPIDENTIFIER:@APPIDENTIFIER preprocessor
command. You have to pass a pointer to a STRPTR in pData. Hollywood will set this
STRPTR to the application's identifier then. Hollywood will never write NULL to the STRPTR
but it may return an empty string. (V6.1)
HWMCP_SETCALLBACKMODE:iData. You
have to pass True to enable callback mode or False to disable it. Callback mode should
be enabled whenever one of your plugin's Lua functions runs another Lua function by
calling lua_pcall(). Please note that HWMCP_SETCALLBACKMODE contains a nesting count.
Thus, every enable operation must be matched by a disable operation. (V6.0)
HWMCP_GETGTKREADY:pData to a pointer to an int. Hollywood will then write either
True or False to this int. This tag is only supported on Linux. (V6.0)
HWMCP_SETDISABLELINEHOOK:iData to True in this tag. However, make sure that
you enable it again as soon as possible because several key features of Hollywood won't
work while the line hook is disabled. This tag expects either True or False in iData.
(V6.0)
HWMCP_GETFPSLIMIT:SetFPSLimit()
command. You have to set pData to a pointer to an int. Hollywood will then write the FPS
limit to this int. (V6.0)
HWMCP_GETDESIGNERVERSION:pData to a pointer to a ULONG. The upper 16-bits of the ULONG
will then receive Designer's version number whereas the revision number will be written to
the lower 16-bits. Obviously, this tag is only recognized by Hollywood Designer and not
by Hollywood itself. Note that Designer 4.0 doesn't support this tag. If your plugin
was opened by Designer and hw_MasterControl() fails to obtain this tag, you can be sure
that Designer 4.0 is handling your plugin. (V6.0)
HWMCP_SETGLOBALQUIT:True, Hollywood will immediately shutdown. In contrast to posting
HWEVT_QUIT using hw_PostEvent(), setting the global quit flag
will cause an instant shut down of Hollywood. (V6.1)
HWMCP_SETLIGHTCHKEVT:True to make Hollywood's CheckEvent() function only call into your display
adapter's HandleEvents() function and do nothing else. Normally, Hollywood's
CheckEvent() function will also run event callbacks if events have triggered. You can
prohibit this behaviour by setting this flag to True. If HWMCP_SETLIGHTCHKEVT has been
set to True, CheckEvent() will only call your display adapter's HandleEvents()
function and do nothing else. (V6.1)
HWMCP_RESETERRORFLAG:lua_pcall() exits with an error, Hollywood expects a program shutdown and sets
several internal flags to prepare this complete shutdown. If you want to keep the
program running even after lua_pcall() returned an error, you have to execute HWMCP_RESETERRORFLAG
to reset all internal error flags. Then Hollywood can continue running without any issues.
Note that this tag doesn't take any data. Both iData and pData elements are ignored. (V6.1)
HWMCP_SETAMIGASIGNALERROR:HWCB_AMIGASIGNAL can't
pass an error code back to Hollywood. If you need to pass an error code back to Hollywood, use
this tag and set the iData member of it to the error code that should be passed back to Hollywood.
See hw_RegisterCallback for details. (V6.1)
HWMCP_SETDISABLERAISEONERROR:RaiseOnError() function. Pass True in iData to disable the error handling function, False
to enable it again. Normally it is not necessary to mess with error handlers installed by
RaiseOnError() but in plugins doing really advanced things it might be convenient to have
control over the error handler. Also see the hw_RaiseOnError() function
made available by SysBase. See hw_RaiseOnError for details. (V7.0)
HWMCP_GETEXITONERROR:ExitOnError() function.
You have to set pData to a pointer to a ULONG. Hollywood will then write either True or False
to this ULONG depending on whether ExitOnError() is currently set to True or False. (V7.1)
HWMCP_GETLUASTATE:lua_State used by Hollywood to the pData item
accompanying this tag. (V7.1)
HWMCP_GETDENSITY:pData member item in the
tag. The pData member must be set to a pointer to a double. Note that this will only
retrieve the density setting for the main monitor. Additional monitors might use different
density settings. (V8.0)
HWMCP_GETAMIGASIGNALS:Wait()
function to the pData member item in the tag. The pData member must be set to a pointer to
a ULONG. (V9.0)
HWMCP_SETFORBIDMODAL:WaitLeftMouse(), WaitSampleEnd(), InKeyStr(), and so on. The iData member must
be set to True or False, depending on whether modal loops shall be blocked or not. Note that
Wait() isn't affected by HWMCP_SETFORBIDMODAL. You can control the behaviour of Wait() by implementing
your own Sleep() function using HWSDAFLAGS_SLEEP. See hw_SetDisplayAdapter for details.
(V9.0)
struct hwTagList containing various tags (see above)