Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

Splitting Titles On Winamp - Help out an lcd NOOB please

General discussion about LCD Smartie.

Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo, Fast351

Post Reply
zoptar
Posts: 2
Joined: February 12th, 2007, 10:45 pm
Location: Sweden

Splitting Titles On Winamp - Help out an lcd NOOB please

Post by zoptar »

Is it possible to display the tracktitle, album title and artist that is currently playing in winamp on different lines instead of the same like "$WinampTitle"
does in lcdsmartie. any help appriciated
mattcro
Forum Supporter
Posts: 590
Joined: March 8th, 2006, 1:58 pm
Location: Scotland

Post by mattcro »

Yes, it's possible to do all sorts of clever things with Winamp info in LCD Smartie. This info is extracted from the $WinampTitle string, so it depends what info you have in that string. You can change that in Winamp itself (Prefs>General>Titles>Advanced).

You need a Smartie plugin to split the long WinampTitle string into its components. SplitTitle.dll is the main one, but it doesn't seem to properly handle some characters (mainly European accented ones, Cyrillic etc). Get it from this page: http://lcdsmartie.sourceforge.net/smartied.htm

For examples of Winamp screens, look at the "Screens" section of this forum: http://forums.lcdsmartie.org/viewforum.php?f=10

A typical Winamp screen with artist on line 1 and track name on line 2:
$dll(splittitle.dll,1,$WinampTitle,3)
$dll(splittitle.dll,2,$WinampTitle,3)
That assumes the Winamp title bar looks like "Artist - TrackName" eg "Dido - White Flag". Unfortunately, when the lines scroll there is no gap between the end and the looped start of the title. You can just add a couple of spaces to the end of the line, or maybe a couple of asterisks so that the line looks like " se's Tale ** Nickel" for "Nickel Creek - The Lighthouse's Tale".

For a screen with artist on line 1, album on line 2 and track name on line 3:
$dll(splittitle.dll,1,$WinampTitle,3)
$dll(splittitle.dll,2,$WinampTitle,3)
$dll(splittitle.dll,3,$WinampTitle,3)

And set Winamp up so its title bar looks like "Artist - Album - TrackTitle" eg "Dido - Life For Rent - White Flag"

For a more complex but versatile method, see the Regular Expressions plugin info at http://forums.lcdsmartie.org/viewtopic.php?t=440 This is almost guaranteed to confuse you at first sight!. It's what I use, in combo with my own smart scroll plugin. See http://lcdsmartie.erlis.se/index.php/ScrollPad for download and examples.

This is what the whole shebang looks like on my Smartie setup:
$dll(scrollpad.dll,1,20# ** ,$dll(regexp.dll,1,.*(?= - ),$WinampTitle))
$dll(scrollpad.dll,2,20# ** ,$dll(regexp.dll,1,(?<= - ).*,$WinampTitle))

That does artist on the top line and track title on the 2nd line, with nice separators ( ** ) when the lines scroll.
zoptar
Posts: 2
Joined: February 12th, 2007, 10:45 pm
Location: Sweden

Post by zoptar »

Thanks very much should try this right away
limbo
Plugin Author
Posts: 1604
Joined: February 13th, 2005, 7:38 pm
Location: Athens - Greece
Contact:

Post by limbo »

One notice about this plugin (splittitle)

Adapted from read me text:

Code: Select all

function1
  returns the first part of the title, the artist.

  function2
  returns the second part of the title, track title
         NOTE: in some tracks that have a dash symbol in their 
         artists like (Kermit The Frog - Miss Piggy - See drives me crazy) 
         here will appear the second artist 
  
  function3
  returns the third part of the title
         NOTE:  this is applicable only is your collection of mp3's haves 
         dashes and you want to get the third part of the returned string and in the case
         described in the note above.
         For example if your track titles come with the following format "Limbo's Collection  - Simply red - Fairground"
         to take the artist you must use the function2 and to take the track title the function 3

  function11
  as function1 but you can define your own seperator.

  function12
  as function2 but you can define your own seperator.

  function13
  as function3 but you can define your own seperator.
I suggest to use the functions 11-13 passing as delimiter three characters " - " (this consists of space dash space). This delimiter is best for spliting the titles on winamp and avoid splitting confusion with titles like "A-HA".

Example:

Code: Select all

$dll(sandr,1,$dll(splittitle,12,$WinampTitle, - )
Last edited by limbo on February 14th, 2007, 8:32 pm, edited 3 times in total.
mattcro
Forum Supporter
Posts: 590
Joined: March 8th, 2006, 1:58 pm
Location: Scotland

Post by mattcro »

Good point Limbo.

It can be difficult to reliably get the required info if the MP3 tags are corrupted/missing, or contain extra info like in compilations etc... mostly it works fine though!
eltamelta
Posts: 2
Joined: June 11th, 2007, 10:26 pm

Post by eltamelta »

Love smartie so nice. Had this thing with artist aswell.

Jay-z Ne-Yo etc.


I wonder

Code: Select all

$dll(sandr,1,$dll(splittitle,12,$WinampTitle, - )
where do i get sandr.dll? couldnt get above script to work.


thank you.
mattcro
Forum Supporter
Posts: 590
Joined: March 8th, 2006, 1:58 pm
Location: Scotland

Post by mattcro »

You don't need sandr.dll unless you need to replace particular characters (or strings or characters) in your song titles. This may be necessary, for example, to convert accented characters to the appropriate ones for your LCD. My LCD doesn't have the ????? characters, so I convert them to aeiou so that the titles display sensibly, instead of some garbage characters that the LCD has inplace of the accented ones.

Try using just

Code: Select all

$dll(splittitle,11,$WinampTitle, - )
$dll(splittitle,12,$WinampTitle, - )
You can get sandr.dll at Limbo's own website: http://www.eserver.gr

Look for "Search And Replace" under LCDSmartie plugins.
eltamelta
Posts: 2
Joined: June 11th, 2007, 10:26 pm

THank you

Post by eltamelta »

Excellent that worked like a charm. May I ask if you have a clever way of removing anything within parenthesis.


ie. "jay-z Dirt of your sholder (remix)" should exclude anything after the first parenthesis.
SlithyToves
Posts: 5
Joined: June 4th, 2007, 1:56 am

Post by SlithyToves »

It looks complex but I find that:
$dll(regexp,2, - ([^()]*),$WinampTitle)
works except that I can't get it to take off the space before the first parenthesis. *grumble*

My whole thing (it's insane, but does what I want - though I bet there's a better way to go about this) will take a title like:
Erlend Oye - Poor Leno (Silicone Soul's Hypno House Dub) - There Is A Light That Never Goes Out (A Capella)
and turn it into:
Erlend Oye
Poor Leno
(Silicone Soul's Hypno House Dub)
There Is A Light That Never Goes Out (A Capella)

without the complaining that spilttitle does when it hits shorter titles.

$dll(regexp,2,(.*?) - ,$WinampTitle) - Artist
$dll(regexp,2, - ([^()]*),$WinampTitle) - Song Title before parenthesis
$dll(regexp,1,\(.*?\),$WinampTitle) - Song Title within parenthesis
$dll(regexp,2,\(.*\) - (.*),$WinampTitle) - Song Title after parenthesis and ' - '
Post Reply