void GrooveDialog::OnCommand(WPARAM wParam, LPARAM lParam) { switch(LOWORD(wParam)) { case FNG_OPEN_FOLDER: OnGrooveFolderButton(HIWORD(wParam), lParam); break; case FNG_REFRESH: RefreshGrooveList(); break; case IDC_GROOVELIST: OnGrooveList(HIWORD(wParam), lParam); break; case IDC_STRENGTH: OnStrengthChange(HIWORD(wParam), lParam); break; case IDC_VELSTRENGTH: OnVelStrengthChange(HIWORD(wParam), lParam); break; case IDC_SENS_32ND: setSensitivity(m_hwnd, 32); setGrooveTolerance(32); break; case IDC_SENS_16TH: setSensitivity(m_hwnd, 16); setGrooveTolerance(16); break; case IDC_SENS_4TH: setSensitivity(m_hwnd, 4); setGrooveTolerance(4); break; case IDC_SENS_8TH: setSensitivity(m_hwnd, 8); setGrooveTolerance(8); break; case IDC_TARG_ITEMS: setTarget(m_hwnd, true); setGrooveTarget(TARGET_ITEMS); break; case IDC_TARG_NOTES: setTarget(m_hwnd, false); setGrooveTarget(TARGET_NOTES); break; case IDC_APPLYGROOVE: ApplySelectedGroove(); break; case IDC_STORE: if(IsDlgButtonChecked(m_hwnd, IDC_TARG_ITEMS) == BST_CHECKED) Main_OnCommandEx(NamedCommandLookup("_FNG_GET_GROOVE"), 0, 0); else Main_OnCommandEx(NamedCommandLookup("_FNG_GET_GROOVE_MIDI"), 0, 0); SendDlgItemMessage(m_hwnd, IDC_GROOVELIST, LB_SETCURSEL, 0, 0); break; default: Main_OnCommand((int)wParam, (int)lParam); // Required when you have reaper commands in the context menu } }
void UpdateTrackMute() { static int cmdID = 0; if (!cmdID) cmdID = NamedCommandLookup("_SWS_MUTETOGGLE"); RefreshToolbar(cmdID); }
void UpdateTrackSolo() { static int cmdID = 0; if (!cmdID) cmdID = NamedCommandLookup("_SWS_SOLOTOGGLE"); RefreshToolbar(cmdID); }
void RunActionMarker(const char* cName) { if (cName && cName[0] == '!' && !EnumProjects(0x40000000, NULL, 0)) // disabled while rendering (0x40000000 trick == rendered project, if any) { if (g_bIgnoreNext) { // Ignore the entire marker action g_bIgnoreNext = false; return; } LineParser lp(false); lp.parse(&cName[1]); for (int i = 0; i < lp.getnumtokens(); i++) { int iCommand = lp.gettoken_int(i); if (!iCommand) iCommand = NamedCommandLookup(lp.gettoken_str(i)); if (iCommand) { int iZero = 0; if (!kbd_RunCommandThroughHooks(NULL, &iCommand, &iZero, &iZero, &iZero, g_hwndParent)) { KBD_OnMainActionEx(iCommand, 0, 0, 0, g_hwndParent, NULL); } } } } }
HMENU GrooveDialog::OnContextMenu(int x, int y, bool* wantDefaultItems) { HMENU contextMenu = CreatePopupMenu(); AddToMenu(contextMenu, __LOCALIZE("Select groove folder...","sws_DLG_157"), FNG_OPEN_FOLDER); AddToMenu(contextMenu, __LOCALIZE("Save groove...","sws_DLG_157"), NamedCommandLookup("_FNG_SAVE_GROOVE")); AddToMenu(contextMenu, __LOCALIZE("Refresh","sws_DLG_157"), FNG_REFRESH); return contextMenu; }
// global action timer armed via SNM_Init()/OnInitTimer() void GlobalStartupActionTimer() { if (int cmdId = NamedCommandLookup(g_globalAction.Get())) { Main_OnCommand(cmdId, 0); #ifdef _SNM_DEBUG OutputDebugString("GlobalStartupActionTimer() - Performed global startup action '"); OutputDebugString(g_globalAction.Get()); OutputDebugString("'\n"); #endif } }
// per-project action timer armed via ProcessExtensionLine() void ProjectStartupActionTimer() { plugin_register("-timer",(void*)ProjectStartupActionTimer); if (int cmdId = NamedCommandLookup(g_prjActions.Get()->Get())) { Main_OnCommand(cmdId, 0); #ifdef _SNM_DEBUG OutputDebugString("ProjectStartupActionTimer() - Performed project startup action '"); OutputDebugString(g_prjActions.Get()->Get()); OutputDebugString("'\n"); #endif } }
void OnTriggerActionTimer() { // unregister timer (called once) plugin_register("-timer",(void*)OnTriggerActionTimer); if (int cmdId = NamedCommandLookup(g_prjActions.Get()->Get())) { // specific case for "load theme" actions (~1s delay) if (strstr(g_prjActions.Get()->Get(), "S&M_LOAD_THEME")) ScheduledJob::Schedule(new StartupProjectActionJob(cmdId)); // standard case, faster else Main_OnCommand(cmdId, 0); #ifdef _SNM_DEBUG OutputDebugString("OnTriggerActionTimer() - Performed startup action '"); OutputDebugString(g_prjActions.Get()->Get()); OutputDebugString("'\n"); #endif } }
void MoveGridToMouseInit () { ContinuousActionRegister(new BR_ContinuousAction(NamedCommandLookup("_BR_MOVE_GRID_TO_MOUSE"), &MoveGridInit, &MoveGridDoUndo, &MoveGridCursor)); ContinuousActionRegister(new BR_ContinuousAction(NamedCommandLookup("_BR_MOVE_M_GRID_TO_MOUSE"), &MoveGridInit, &MoveGridDoUndo, &MoveGridCursor)); ContinuousActionRegister(new BR_ContinuousAction(NamedCommandLookup("_BR_MOVE_CLOSEST_TEMPO_MOUSE"), &MoveGridInit, &MoveGridDoUndo, &MoveGridCursor)); }
// Important: both __LOCALIZE() parameters MUST remain literal strings (see sws_build_sample_langpack tool) void SWSCreateExtensionsMenu(HMENU hMenu) { if (GetMenuItemCount(hMenu)) AddToMenu(hMenu, SWS_SEPARATOR, 0); AddToMenu(hMenu, __LOCALIZE("About SWS Extension", "sws_ext_menu"), NamedCommandLookup("_SWS_ABOUT")); AddToMenu(hMenu, __LOCALIZE("Auto Color/Icon", "sws_ext_menu"), NamedCommandLookup("_SWSAUTOCOLOR_OPEN")); HMENU hAutoRenderSubMenu = CreatePopupMenu(); AddSubMenu(hMenu, hAutoRenderSubMenu, __LOCALIZE("Autorender", "sws_ext_menu")); AddToMenu(hAutoRenderSubMenu, __LOCALIZE("Batch render regions...", "sws_ext_menu"), NamedCommandLookup("_AUTORENDER")); AddToMenu(hAutoRenderSubMenu, __LOCALIZE("Edit project metadata...", "sws_ext_menu"), NamedCommandLookup("_AUTORENDER_METADATA")); AddToMenu(hAutoRenderSubMenu, __LOCALIZE("Global preferences...", "sws_ext_menu"), NamedCommandLookup("_AUTORENDER_PREFERENCES")); AddToMenu(hAutoRenderSubMenu, __LOCALIZE("Open render path", "sws_ext_menu"), NamedCommandLookup("_AUTORENDER_OPEN_RENDER_PATH")); AddToMenu(hAutoRenderSubMenu, SWS_SEPARATOR, 0); AddToMenu(hAutoRenderSubMenu, __LOCALIZE("Show help...", "sws_ext_menu"), NamedCommandLookup("_AUTORENDER_HELP")); AddToMenu(hMenu, __LOCALIZE("Command parameters...", "sws_ext_menu"), NamedCommandLookup("_XENAKIOS_SHOW_COMMANDPARAMS")); AddToMenu(hMenu, __LOCALIZE("Contextual toolbars...", "sws_ext_menu"), NamedCommandLookup("_BR_CONTEXTUAL_TOOLBARS_PREF")); AddToMenu(hMenu, __LOCALIZE("Cue Buss generator", "sws_ext_menu"), NamedCommandLookup("_S&M_SENDS4")); AddToMenu(hMenu, __LOCALIZE("Cycle Action editor...", "sws_ext_menu"), NamedCommandLookup("_S&M_CYCLEDITOR")); AddToMenu(hMenu, __LOCALIZE("Envelope processor...", "sws_ext_menu"), NamedCommandLookup("_PADRE_ENVPROC")); // AddToMenu(hMenu, __LOCALIZE("Fill gaps...", "sws_ext_menu"), NamedCommandLookup("_SWS_AWFILLGAPSADV")); AddToMenu(hMenu, __LOCALIZE("Find", "sws_ext_menu"), NamedCommandLookup("_S&M_SHOWFIND")); AddToMenu(hMenu, __LOCALIZE("Groove tool...", "sws_ext_menu"), NamedCommandLookup("_FNG_GROOVE_TOOL")); AddToMenu(hMenu, __LOCALIZE("Label processor...", "sws_ext_menu"), NamedCommandLookup("_IX_LABEL_PROC")); AddToMenu(hMenu, __LOCALIZE("Loudness...", "sws_ext_menu"), NamedCommandLookup("_BR_ANALAYZE_LOUDNESS_DLG")); AddToMenu(hMenu, __LOCALIZE("LFO generator...", "sws_ext_menu"), NamedCommandLookup("_PADRE_ENVLFO")); AddToMenu(hMenu, __LOCALIZE("Live Configs", "sws_ext_menu"), NamedCommandLookup("_S&M_SHOWMIDILIVE")); AddToMenu(hMenu, __LOCALIZE("MarkerList", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST1")); HMENU hMarkerSubMenu = CreatePopupMenu(); AddSubMenu(hMenu, hMarkerSubMenu, __LOCALIZE("Marker utilites", "sws_ext_menu")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Load marker set...", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST2")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Save marker set...", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST3")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Delete marker set...", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST4")); AddToMenu(hMarkerSubMenu, SWS_SEPARATOR, 0); AddToMenu(hMarkerSubMenu, __LOCALIZE("Copy marker set to clipboard", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST5")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Paste marker set from clipboard", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST6")); AddToMenu(hMarkerSubMenu, SWS_SEPARATOR, 0); AddToMenu(hMarkerSubMenu, __LOCALIZE("Reorder marker IDs", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST7")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Reorder region IDs", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST8")); AddToMenu(hMarkerSubMenu, SWS_SEPARATOR, 0); AddToMenu(hMarkerSubMenu, __LOCALIZE("Select next region", "sws_ext_menu"), NamedCommandLookup("_SWS_SELNEXTREG")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Select prev region", "sws_ext_menu"), NamedCommandLookup("_SWS_SELPREVREG")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Delete all markers", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST9")); AddToMenu(hMarkerSubMenu, __LOCALIZE("Delete all regions", "sws_ext_menu"), NamedCommandLookup("_SWSMARKERLIST10")); AddToMenu(hMenu, __LOCALIZE("Notes", "sws_ext_menu"), NamedCommandLookup("_S&M_SHOW_NOTES_VIEW")); AddToMenu(hMenu, __LOCALIZE("Project List", "sws_ext_menu"), NamedCommandLookup("_SWS_PROJLIST_OPEN")); HMENU hPrjMgmtSubMenu = CreatePopupMenu(); AddSubMenu(hMenu, hPrjMgmtSubMenu, __LOCALIZE("Project Management", "sws_ext_menu")); AddToMenu(hPrjMgmtSubMenu, __LOCALIZE("Open projects from list...", "sws_ext_menu"), NamedCommandLookup("_SWS_PROJLISTSOPEN")); AddToMenu(hPrjMgmtSubMenu, __LOCALIZE("Save list of open projects...", "sws_ext_menu"), NamedCommandLookup("_SWS_PROJLISTSAVE")); AddToMenu(hPrjMgmtSubMenu, __LOCALIZE("Add related project(s)...", "sws_ext_menu"), NamedCommandLookup("_SWS_ADDRELATEDPROJ")); AddToMenu(hPrjMgmtSubMenu, __LOCALIZE("Delete related project...", "sws_ext_menu"), NamedCommandLookup("_SWS_DELRELATEDPROJ")); AddToMenu(hPrjMgmtSubMenu, SWS_SEPARATOR, 0); AddToMenu(hPrjMgmtSubMenu, __LOCALIZE("(related projects list)", "sws_ext_menu"), NamedCommandLookup("_SWS_OPENRELATED1")); HMENU hStartupSubMenu = CreatePopupMenu(); AddSubMenu(hMenu, hStartupSubMenu, __LOCALIZE("Startup actions", "sws_ext_menu")); AddToMenu(hStartupSubMenu, __LOCALIZE("Set project startup action...", "sws_ext_menu"), NamedCommandLookup("_S&M_SET_PRJ_ACTION")); AddToMenu(hStartupSubMenu, __LOCALIZE("Clear project startup action", "sws_ext_menu"), NamedCommandLookup("_S&M_CLR_PRJ_ACTION")); AddToMenu(hStartupSubMenu, SWS_SEPARATOR, 0); AddToMenu(hStartupSubMenu, __LOCALIZE("Set global startup action...", "sws_ext_menu"), NamedCommandLookup("_S&M_SET_STARTUP_ACTION")); AddToMenu(hStartupSubMenu, __LOCALIZE("Clear global startup action", "sws_ext_menu"), NamedCommandLookup("_S&M_CLR_STARTUP_ACTION")); AddToMenu(hStartupSubMenu, SWS_SEPARATOR, 0); AddToMenu(hStartupSubMenu, __LOCALIZE("Show project/global startup actions...", "sws_ext_menu"), NamedCommandLookup("_S&M_SHOW_PRJ_ACTION")); AddToMenu(hMenu, __LOCALIZE("ReaConsole...", "sws_ext_menu"), NamedCommandLookup("_SWSCONSOLE")); AddToMenu(hMenu, __LOCALIZE("Region Playlist", "sws_ext_menu"), NamedCommandLookup("_S&M_SHOW_RGN_PLAYLIST")); AddToMenu(hMenu, __LOCALIZE("Resources", "sws_ext_menu"), NamedCommandLookup("_S&M_SHOW_RESOURCES_VIEW")); AddToMenu(hMenu, __LOCALIZE("Snapshots", "sws_ext_menu"), NamedCommandLookup("_SWSSNAPSHOT_OPEN")); HMENU hTempoSubMenu = CreatePopupMenu(); AddSubMenu(hMenu, hTempoSubMenu, __LOCALIZE("Tempo", "sws_ext_menu")); AddToMenu(hTempoSubMenu, __LOCALIZE("Convert project markers to tempo markers...", "sws_ext_menu"), NamedCommandLookup("_SWS_BRCONVERTMARKERSTOTEMPO")); AddToMenu(hTempoSubMenu, __LOCALIZE("Select and adjust tempo markers...", "sws_ext_menu"), NamedCommandLookup("_SWS_BRADJUSTSELTEMPO")); AddToMenu(hTempoSubMenu, __LOCALIZE("Randomize tempo markers...", "sws_ext_menu"), NamedCommandLookup("_BR_RANDOMIZE_TEMPO")); AddToMenu(hTempoSubMenu, __LOCALIZE("Options for setting tempo marker shape...", "sws_ext_menu"), NamedCommandLookup("_BR_TEMPO_SHAPE_OPTIONS")); AddToMenu(hTempoSubMenu, SWS_SEPARATOR, 0); AddToMenu(hTempoSubMenu, __LOCALIZE("Help...", "sws_ext_menu"), NamedCommandLookup("_BR_TEMPO_HELP_WIKI")); AddToMenu(hMenu, __LOCALIZE("Tracklist", "sws_ext_menu"), NamedCommandLookup("_SWSTL_OPEN")); AddToMenu(hMenu, __LOCALIZE("Zoom preferences...", "sws_ext_menu"), NamedCommandLookup("_SWS_ZOOMPREFS")); AddToMenu(hMenu, SWS_SEPARATOR, 0); HMENU hOptionsSubMenu = CreatePopupMenu(); AddSubMenu(hMenu, hOptionsSubMenu, __LOCALIZE("SWS Options", "sws_ext_menu")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable auto track coloring", "sws_ext_menu"), NamedCommandLookup("_SWSAUTOCOLOR_ENABLE")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable auto marker coloring", "sws_ext_menu"), NamedCommandLookup("_S&MAUTOCOLOR_MKR_ENABLE")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable auto region coloring", "sws_ext_menu"), NamedCommandLookup("_S&MAUTOCOLOR_RGN_ENABLE")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable auto track icon", "sws_ext_menu"), NamedCommandLookup("_S&MAUTOICON_ENABLE")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable marker actions", "sws_ext_menu"), NamedCommandLookup("_SWSMA_TOGGLE")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable record input check", "sws_ext_menu"), NamedCommandLookup("_SWS_TOGRECINCHECK")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable red ruler while recording", "sws_ext_menu"), NamedCommandLookup("_SWS_RECREDRULER")); AddToMenu(hOptionsSubMenu, __LOCALIZE("Enable toolbars auto refresh", "sws_ext_menu"), NamedCommandLookup("_S&M_TOOLBAR_REFRESH_ENABLE")); }