Add programmatically exposed filter to view without removing the existing ones
The hook function used was wrong. I had to use hook_views_pre_build(&amp;$view)
so I have now the following (and the other exposed filters don't get messed up):

 function music_m_views_pre_build(&amp;$view) {

$view_filters = $view-&gt;display['default']-&gt;handler-&gt;options['filters']; 

 $current_latter = arg(1); 

 if($current_latter)
 {  
    $view_filters['title']['value'] = $current_latter;  

 } 
$view-&gt;display[$view-&gt;current_display]-&gt;handler-&gt;handlers['filter']['title']-&gt;value = $current_latter;


}