20# * /set lastfm_user to the username that you are using on Last.fm
21# * Show with /np or %np<TAB> what song "lastfm_user" last scrobbled to Last.fm via /say. If "lastfm_use_action" is set, it uses /me.
22# * To see what another user on Last.fm is playing is also possible via /np <username> or %np(<username>).
23# The now-playing message is configurable via via "lastfm_output" (and lastfm_output_tab_complete when using %np, if not set it will use lastfm_output by default.). "lastfm_strftime" can be used to configure the display of date and time when the song was scrobbled.
130# * Fixed an changed behavour in irssi-trunk with the error handling (which I should replace anyway!).
131# * Added %player substitute variable that shows what application you are using to scrobble with. This is very slow, so I made it an option, "lastfm_get_player".
132# * Fixed print_raw once and for all (famous last words..) so now debug output looks really neat.
133# * Added an quick start which should help get going faster
134# * Fixed an issue where %np(lastfmusername) would not work.
135# * Fixed error mesages for %np(lastfmusername)
136# * Fixed an problem with irssi-svn where die's message have changed. Thanks tto jnpplf for reporting this.
143# * Changed so that all the tab-commands use % instead of $ so that it's consistent through out the script.
144# * Ripped out my sprintf crap and made it more sane. You should use %artist, %album, etc in your nowplaying-setting now. Since sprintf is nolonger used I renamed that setting too.
145# * Made everything that you can set in "lastfm_output" tabable so now you can do %artist<TAB>.
146# %() in "lastfm_output" really works. It really didn't before.
147# * Fixed some issues with the date probably not working, but should now.
148# * Made the script check if Last.fm's scrobbler server is alive and kicking before we blame them.
176# * Fixed so that /np! and $np! fetches the album title too. This is horribly slow and takes approx. 6s on very fast connection. Last.fm isnt very fast I'm afraid and this is not a good way to do it.
177# * Cleaned up a few places. Started to look at the error handling and it seems to be alot of work.
189# * Finally added conditional sprintf-syntax! Let's say you want to use 'np: %s-%s (%s)' as "lastfm_sprintf". If you use /np it works out fine and displays 'np: Boards of Canada-Energy Warning (Geogaddi)' but what if you use /np! then it displays 'np: Boards of Canada-Energy Warning ()' since /np! can't get the album information. Doesn't that look ugly? Meet conditional sprintf. Now set your "lastfm_sprintf" to 'np: %s-%s%( (%s))'. ' (%s)' will only be printed if we get a third value, the album name in this case. Smart, huh? Big thanks to rindolf, apeiron and Khisanth from #perl@freenode for help with scoping with global variables.
190# * Also added "lastfm_sprintf_tab_complete" which makes, if set, $np<TAB> use a different sprintf pattern than /np. Will default back to "lastfm_sprintf".
193# * I don't like dependencies and I really wonder why I lastfm depended on DateTime. I remember now that it was morning and I was really tired when I coded it. Anyway, it's removed now along with Socket and URI::Escape. I'll try to remove the dependency for libwww later on.
199# * Created a new setting "lastfm_be_accurate_and_slow" which makes lastfm.pl parse your profile page to check what song you are playing right now. But be warned, this is slow and horrible (like my code! ; ). But it works until Last.fm makes this data available through their Web Services. This disables the album and "scrobbled at" features of "lastfm_sprintf" so you have to adapt it if you don't want it to look weird. I'm working on a new implementation of printf which allows for conditions but it took more time than I thought and time is something that I don't have much of ='(
202# * Fixed the encoding issue by converting from Last.fms UTF-8 into Perls internal encoding. With $np<TAB> output will be looking UTF-8-in-latin1 if you don't have an UTF-8 enabled Terminal, but it will display correctly after you have sent it.
209# * Made /np a nonblocking operation. Irssi's fork handling is REALLY messy. Thanks to tss and tommie for inspiring me in their scripts. $np cannot be made nonblocking, I'm afraid (patches welcome).
216# * Now you can use $np or $nowplaying as a tab-completion too, but a warning here, this is a blocking action so irssi won't respond or be usable until it is finished or the timeout is hit.
217# * Abstracted it abit more so that it can be used in more ways, ex. for the reason above.
293# return "ERROR: You are not playing anything according to Last.fm. Check https://www.last.fm/user/$user and see if they turn up there, otherwise restart your scrobbler.";