Devilin_Pixy commented on a Page, VLC Now Playing  -  Jul 24, 2012

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-,&quot;,",&apos;,',&amp;,&,&lt;,<,&gt;,>,&nbsp;,$chr(32),&#039;,'),<![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-,&quot;,",&apos;,',&amp;,&,&lt;,<,&gt;,>,&nbsp;,$chr(32),&#39;,'),<![CDATA[,]]>) }

@TheNitelyfe: I hope you can use this to update your code ;-)

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.