GridStatusControlPipes
This addon provides further control possibilities for any other Grid status. By now the following controls are available:
- show or hide status on key press (KeyGuard)
- show or hide status in or out of combat (CombatGuard)
- convert duration status (like aura duration) to min/max value status to be able to display remaining time of auras on bar indicators (like GridManaBars) (ToBarFilter)
- filter status for specific classes (ClassGuard)
- convert color of status to class color (ClassColorFilter)
- aura filter (can be used as debuff white list) (AuraGuard)
- convert value to text (like health) (ToTextFilter)
- threshold filter for values (ThresholdGuard)
How does it work
Like the name says, the addon works like a pipe, every pipe consists of four parts:
- indicator - status registered with the indicator of a pipe are used as input for the pipe
- guards - guards control if a pipe is open or not
- filters - filters change the values piped through the pipe
- status - the pipes status is the output of the pipe and can be registered with the actual destination indicator
So what you have is the following:
[status to control] -> [pipe indicator] -> [pipe status] -> ([guards] -> [filters]) -> [destination indicator]
How to use - a few examples
Generally you do the following steps to configure a pipe:
- Create pipe by entering its name under "Grid -> Control Pipes -> New Pipe". This will create a new status for the pipe under "Status" and a new indicator for it under "Indicators".
- Set input of the pipe by registering the status to filter with the pipes indicator under "Grid -> Indicators -> <pipe name>"
- Set the destination of the pipe by registering the pipes status with the destination indicator under "Grid -> Indicators -> <destination indicator>"
- Configure the pipes Guards and Filters by adding new ones under "Grid -> Status -> <pipe name> -> <Filters/Guards>"
Some example configurations
"Shadow ward pipe" - As a priest I use GridStatusMissingBuffs to display missing buffs. But since Shadow ward isn't always needed I want to be able to easily toggling showing missing shadow wards on/off. To do this I pipe its state through a pipe which uses the KeyGuard. So I can toggling showing of missing shadow wards by pressing a key.
"Remaining Health pipe" - Most times health deficite is the only value I need to know for healing. But in some cases I need to know the remaining health of a unit to decide who needs special healing (during AoE for example). For this I pipe grids health status through a pipe with a "ToTextFilter" (to convert the health value to a text), a "ThresholdGuard" (to show remaining health only on half death people) and a "KeyGuard" (to toggle this on of).
"Debuff white list pipe" - Grid doesn't come with a whitelist for the debuff type status. To add this I pipe the debuff type status through a pipe with a "AuraGuard" where I can add the debuffs of this kind i don't need to see.
"Remaining hot duration pipe" - I use the mana bar of GridManaBars to show the remaining time of my hots on a unit by piping the "Aura Status" of the hot through a pipe with a "ToBarFilter". The destination of the pipe is the Mana bar indicator.
There are a lot more things you can use it for, just play around with it :). If you need other guards or filters tell me, its pretty easy to add new ones.
FAQ
Q: "Why does my threshold guard does not work on the aura duration?" A: "Thats because you need to activate "show duration" at the aura status itself."
Notes
- The reaction of the key depends on the duration you keep the key pressed. This means, if you keep the key pressed for more than 300ms the key will react as "while key is pressed", otherwise it will react like "toggle on key press".
- Please resist the urge to create loops with the pipes! I know its tempting but I didn't test what happens if you do so and I won't take responsibility if it caused the ending of the world! Seriously!
@copper1956
The step should actually be "Grid -> Indicators -> <destination indicator>". I thought I already fixed that, sorry. I will fix it now.
This step
3. Set the destination of the pipe by registering the pipes status with the destination indicator under "Grid -> Frames -> <destination indicator>"
Is missed to me. There is nothing considering a new pipe on Grid -> Frames tab. What do I do wrong?
I have a new question for you. I'm trying to setup a grid indicator that is specific for Chimaron. I was trying to use multiple Absolute threshold to do the following:
Indicate when a player's HP are between 10k and 12k. So one AbThrs above 10k, and another below 12k based on the status Unit Health with a To-Text filter for that as well. What I'm trying to do may not be feasible, so I was hoping you may have a solution or way to do this using Control Pipes. Any ideas? Perhaps a new "value range" pipe?
-HM
I didn't try but this should normaly work. If not you can also queue two separate pipes, one with the above 10k guard and one with the below 12k guard. This should have the same effect and should look like this:
health->above10kpipe indicator->above10kpipe status->below12kpipe indicator->below12kpipe status->text indicator.
And the question. How can I add custom pipefilter? For example, I want status color based on remaining time. I have modified PipeFilters.lua, and all works fine. But maybe there is more correct way?
Sorry for my poor English ((
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\GridStatusControlPipes\GridPipe.lua line 10:
attempt to index local 'OO' (a nil value)
Debug:
[C]: ?
GridStatusControlPipes\GridPipe.lua:10: in main chunk
AddOns:
Swatter, v3.1.15 (<%codename%>)
AckisRecipeList, v2.0.4
ACP, v3.3.8
Altoholic, v4.0.001
Babylonian, v5.1.DEV.130
BankStack, vv20-1
BonusScanner, v5.3.1
Chatter, v1.0
Clique, vv40000-1.2.7
Configator, v5.1.DEV.278
DataStore, v4.0.001
DataStoreAchievements, v4.0.001
DataStoreAuctions, v4.0.001
DataStoreCharacters, v4.0.001
DataStoreContainers, v4.0.001
DataStoreCrafts, v4.0.001
DataStoreCurrencies, v4.0.001
DataStoreInventory, v4.0.001
DataStoreMails, v4.0.001
DataStorePets, v4.0.001
DataStoreQuests, v4.0.001
DataStoreReputations, v4.0.001
DataStoreSpells, v4.0.001
DataStoreStats, v4.0.001
DataStoreTalents, v4.0.001
Dominos, v1.19.4
DominosRoll, v
DominosTotems, v
DominosXP, v
ErrorFilter, v1.7
Gatherer, v3.1.15
GearScore, v3.1.19 - Release
Grid, vr1374
GridIndicatorCornerIcons, v30300-5
GridIndicatorCornerText, v1.4.1
GridIndicatorSideIcons, v40000-1
GridStatusControlPipes, v1.21
Recount, v
SlideBar, v3.1.15 (<%codename%>)
BlizRuntimeLib_enUS v4.0.1.40000 <eu>
(ck=41f)
So: thanks!
I have the newest grid, complete with the newest control pipes and shield left mods as well as the indicator side text/icons and corner text/icons that came out today, but I cannot create any new pipes. I do /grid and I get the new config window with Control Pipes near the top but nothing in the right hand pane. Am I the only one? Am I missing a dependency or a setting somewhere? I still need to route Weakened Soul debuff through for side text and have none of my old pipes you helped me create via the older comments below. I also can't find any way to create new ones. Any tips you can provide will be gratefully accepted. Also, any idea or tweaks to make GridIndicatorText3 working so I can see health deficit in numbers again?
-HM
-HM