I am using VLC version 2.0.3 Twoflower and had the same problem. Reason the code does not work anymore is because there have been some changes in the status.xml file. I solved it by changing some of the code. Note that I am still learning how to use $regex() so I changed matching to single lines and not sure how to put it all into one. It does work however, although it might be done shorter.
Change,
if (<length>0</length> isin %v) { echo -a Error: Not playing any songs! | sockclose vlc }
else {
if ($regex(%v,/<(length|title|artist|album)>(.+)<\/.+>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name="(Type|Sample rate|Bitrate)">(.+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if (</information> isin %v) {
$sock(vlc).mark [VLC] (Type:) %v.ty >> %v.ar - %v.ti < $+ %v.al $+ > (Length:) %v.le (Bit Rate:) %v.bi ( $+ %v.sa $+ )
unset %v.*
sockclose vlc
}
}
}
alias -l hf { return $remove($replace($1-,",",',',&,&,<,<,>,>, ,$chr(32),','),<![CDATA[,]]>) }
to
if (<length>0</length> isin %v) { echo -a Error: Not playing any songs! | sockclose vlc }
else {
if ($regex(%v,/<(length)>([^>]+)<\/length>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name='(artist)'>([^>]+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name='(album)'>([^>]+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name='(title)'>([^>]+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name='(Bitrate)'>([^>]+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name='(Type)'>([^>]+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if ($regex(%v,/<info name='(Sample rate)'>([^>]+)<\/info>/)) { set %v. $+ $left($regml(1),2) $hf($regml(2)) }
if (</information> isin %v) {
$sock(vlc).mark [VLC] (Type:) %v.ty >> %v.ar - %v.ti < $+ %v.al $+ > (Length:) %v.le (Bit Rate:) %v.bi ( $+ %v.sa $+ )
unset %v.*
sockclose vlc
}
}
}
alias -l hf { return $remove($replace($1-,",",',',&,&,<,<,>,>, ,$chr(32),','),<![CDATA[,]]>) }
@TheNitelyfe: I hope you can use this to update your code ;-)