Quartz
Quartz is a modular approach to a casting bar addon. An overview of (hopefully most of) the modules:
*Player
The core of Quartz is lightweight implementation of a standard casting bar, with configurable size, text and icon positioning, and colors. 
*Target/Focus
Implementation of target and focus casting bars in similar fashion to the player cast bar. 
*Buffs
Display of target and focus buffs and debuffs as duration bars. 
*Flight
Hooks into FlightMap or InFlight to display the current flight progress on your casting bar. 
*Global Cooldown
Displays a tiny spark-bar to show your Global Cooldown near the cast bar. Helpful for those who'd rather not squint at their action bars to see when they can cast again. 
*Interrupt
Changes the color and text of your casting bar to help show that your cast has been interrupted (and show who interrupted it). 
*Latency
Displays the amount of time spent between cast send and start events, in the form of a bar at the end of your casting bar, with optional text that displays the actual duration of the lag. This helps in canceling casts when they will not actually be interrupted, especially for users with consistently high pings. 
*Mirror
Shows the 'basic' timers such as breath and feign death, as well as some 'odd' ones such as party invite time, resurrect timeout, and arena game start, and a framework for injecting custom timers into the bars. 
*Range
Recolors the casting bar when your cast target moves out of range mid-cast. 
*Swing
Displays a swing timer for your melee weapon as well as hunter autoshot. 
*Timer
Allows for creating custom timers displayed on the mirror bars. 
*Tradeskill Merge
Merges multiple casts of the same tradeskill item into one big cast bar. 
Use /quartz to bring up the configuration menu.
        
- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Oct 4, 20101x Quartz-3.0.3.1\modules\Tradeskill.lua:88: Usage: RawHook([object], method, [handler], [hookSecure]): Attempt to hook secure function UNIT_SPELLCAST_START. Use `SecureHook' or add `true' to the argument list to override.
AceHook-3.0-5 (AuctionLite):164: in function <...\AddOns\AuctionLite\Libs\AceHook-3.0\AceHook-3.0.lua:118>
AceHook-3.0-5 (AuctionLite):325: in function `RawHook'
Quartz-3.0.3.1\modules\Tradeskill.lua:88: in function <Quartz\modules\Tradeskill.lua:87>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (AuctionLite):539: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):551: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):629: in function <...ddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:242: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:316: in function `TimeManager_LoadUI':
Interface\FrameXML\UIParent.lua:517: in function <Interface\FrameXML\UIParent.lua:492>:
---
and
1x Quartz-3.0.3.1\modules\Latency.lua:67: Usage: RawHook([object], method, [handler], [hookSecure]): Attempt to hook secure function UNIT_SPELLCAST_START. Use `SecureHook' or add `true' to the argument list to override.
AceHook-3.0-5 (AuctionLite):164: in function <...\AddOns\AuctionLite\Libs\AceHook-3.0\AceHook-3.0.lua:118>
AceHook-3.0-5 (AuctionLite):325: in function `RawHook'
Quartz-3.0.3.1\modules\Latency.lua:67: in function <Quartz\modules\Latency.lua:66>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (AuctionLite):539: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):551: in function `EnableAddon'
AceAddon-3.0-5 (AuctionLite):629: in function <...ddOns\AuctionLite\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:242: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:316: in function `TimeManager_LoadUI':
Interface\FrameXML\UIParent.lua:517: in function <Interface\FrameXML\UIParent.lua:492>:
---
Edit** Changed code in Tradeskill.lua:88 to self:RawHook(Player, "UNIT_SPELLCAST_START", hooksecure) also changed code in Player.lua:203 cause Volly is not used anymore as a spell for hunters, i changed it too [GetSpellInfo(19434)] = 1, -- aimed shot but not sure if this one is really needed for quartz.
Forgot to mention that making these changes above produced no lua errors.
- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Oct 4, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Oct 3, 2010Speedy reply so very much appreciated, as with all of your hard work - as always, tremendous gratitude for it.
Cami
- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 28, 2010Few questions re: quartz and cataclysm
1) Settings don't get saved - reported by several users as well.
2) In profiles, quartz does not populate the "copy from" profile selection drop down.
3) and any word on a fully compatible version of quartz and procs?
Thanks - great addon btw will hate to see it broken come xpac
- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 15, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 23, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 9, 2010Any hint of what may be happening?
- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 9, 2010Time: 09/09/10 14:38:12
Count: 1
Stack: Interface\AddOns\Quartz\modules\Player.lua:203: in main chunk
Locals: Quartz3 =
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:381
SetModuleEnabled = <function> defined @Interface\AddOns\Quartz\Quartz.lua:210
OnInitialize = <function> defined @Interface\AddOns\Quartz\Quartz.lua:57
RegisterChatCommand = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:85
EnableModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:346
modules =
}
GetModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:230
IterateEmbeds = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:456
defaultModuleLibraries =
}
ToggleLock = <function> defined @Interface\AddOns\Quartz\Quartz.lua:107
GetModuleEnabled = <function> defined @Interface\AddOns\Quartz\Quartz.lua:206
UnregisterChatCommand = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:111
Printf = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:69
CastBarTemplate =
}
GetName = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:298
name = "Quartz3"
IsEnabled = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:465
Util =
}
DisableModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:364
GetArgs = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:144
Print = <function> defined @Interface\AddOns\Chatter\Libs\AceConsole-3.0\AceConsole-3.0.lua:54
optFrames =
}
baseName = "Blizzard_DebugTools"
IsModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:482
db =
}
SetDefaultModuleState = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:401
ShowUnlockDialog = <function> defined @Interface\AddOns\Quartz\Quartz.lua:134
RegisterModuleOptions = <function> defined @Interface\AddOns\Quartz\Config.lua:212
SetEnabledState = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:438
defaultModuleState = true
enabledState = true
Lock = <function> defined @Interface\AddOns\Quartz\Quartz.lua:124
Disable = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:328
CopySettings = <function> defined @Interface\AddOns\Quartz\Quartz.lua:198
ChatCommand = <function> defined @Interface\AddOns\Quartz\Config.lua:194
Unlock = <function> defined @Interface\AddOns\Quartz\Quartz.lua:112
Enable = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:313
IterateModules = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:451
NewModule = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:255
ApplySettings = <function> defined @Interface\AddOns\Quartz\Quartz.lua:92
OnEnable = <function> defined @Interface\AddOns\Quartz\Quartz.lua:64
SetDefaultModulePrototype = <function> defined @Interface\AddOns\Chatter\Libs\AceAddon-3.0\AceAddon-3.0.lua:423
SetupOptions = <function> defined @Interface\AddOns\Quartz\Config.lua:203
Merge = <function> defined @Interface\AddOns\Quartz\Quartz.lua:222
}
L =
Set the color to turn the cast bar when taking a flight path = "Set the color to turn the cast bar when taking a flight path"
Top Left = "Top Left"
Time Text X Offset = "Time Text X Offset"
Text Position = "Text Position"
Move the CastBar to center of the screen along the specified axis = "Move the CastBar to center of the screen along the specified axis"
Hide Cast Time = "Hide Cast Time"
Fix bars to a specified duration = "Fix bars to
- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 11, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 6, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 5, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 5, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 4, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Sep 2, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Aug 19, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Aug 16, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Aug 10, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Aug 8, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Aug 8, 2010- 
            
                
                View User Profile
     
            
            
            
       
 
 
       - 
            
                
                Send Message
     
            
            
            
       
 
 
Posted Oct 12, 2010