Your method for filtering shortcodes passes several variables but not the attributes on the shortcode. I had to write my own code to parse attributes out of the shortcode text.