This is used in one of my plugins and working well, hopefully it can draw some inspiration:
public function efpd_run_tinymce(){
global $typenow, $pagenow;
if ( empty( $typenow ) && !empty( $_GET['post'] ) ) {
$post = get_post( $_GET['post'] );
$typenow = $post->post_type;
}
$curpage = $pagenow . 'post-new.php?post_type=" . $typenow;
if( "fanpages' == $typenow || 'post-new.php?post-type=fanpages' == $curpage ) {
if( !current_user_can( 'edit_posts' ) && !current_user_can( 'edit_pages' ) )
return;
if( get_user_option( 'rich_editing' ) == 'true' ) {
add_filter( 'mce_external_plugins', array( &$this, 'efpd_tinymce_plugins' ) );
add_filter( 'mce_buttons_3', array( &$this, 'efpd_tinymce_buttons' ) );
}
}
}
I think potentially you could take $typenow
and get the post type object and then use the description instead of the logic I’ve used in my example.