static bool ProcessExtensionLine(const char *line, ProjectStateContext *ctx, bool isUndo, struct project_config_extension_t *reg) { LineParser lp(false); if (lp.parse(line) || lp.getnumtokens() < 1) return false; if (!strcmp(lp.gettoken_str(0), "S&M_PROJACTION")) { g_prjActions.Get()->Set(lp.gettoken_str(1)); if (!isUndo && g_prjActions.Get()->GetLength() && IsActiveProjectInLoadSave()) plugin_register("timer",(void*)ProjectStartupActionTimer); return true; } return false; }
static bool ProcessExtensionLine(const char *line, ProjectStateContext *ctx, bool isUndo, struct project_config_extension_t *reg) { LineParser lp(false); if (lp.parse(line) || lp.getnumtokens() < 1) return false; if (!strcmp(lp.gettoken_str(0), "S&M_PROJACTION")) { g_prjActions.Get()->Set(lp.gettoken_str(1)); // by default, a registered timer is not armed when // loading projects, only when launching REAPER, so... if (!isUndo && g_prjActions.Get()->GetLength() && IsActiveProjectInLoadSave()) plugin_register("timer",(void*)OnTriggerActionTimer); return true; } return false; }