You can always set a variable in your spellcast :/
I kinda did it with SMN so I'd have the right avatar set equipped.
Code
<elseif Spell="Shiva">
<action type="equip" when="precast|midcast|aftercast" set="Shiva" />
<action type="command" when="precast">sc var set Shiva 1</action>
</elseif>
But then you have to deal with probs that would incur if you tried to cast the same one twice on purpose, like if it wore off or something. The variable stays set til you change it. But then again if you knew how long exactly your song was going to last, you can set a delay to change the variable back.