iTunes Explicit Lyrics tagging

Over in the comments of my EvilLyrics post, somebody asked for this script. It seems like people might find it handy, so here you go: explicit.txt

It will search the lyrics of all the songs in iTunes for “bad words” and flag those tracks as Explicit by adding the word “Explicit” to the end of the comments in the track.

Now, I have no use for this personally, but I can see where some people might. One thing you will have to do in order to use it is to edit it and define what you consider to be a “bad word”. Just after halfway through the script, there’s a section that looks like this:

badword1|badword2|badword3

Change that to define everything you consider to be a bad word. To use George Carlin’s famous example: shit|piss|fuck|cunt|cocksucker|motherfucker|tits

Just add as many words as you like, then run it like all the rest of these iTunes Javascripts. It’s reasonably smart and won’t tag a track as Explicit if the word Explicit is already in the comments.

You could use this for Smart Playlists, to make “clean” playlists, or to make “not so clean” playlists. Whatever you like. You could do that without this script too, but this makes it a bit easier.

Fun with Widgets

Note: The ExecPHP widget does not work in the upcoming WordPress 2.5. Therefore, if you upgrade to 2.5, you will need to install the updated version of this widget. It can be found here, now and forever more: http://wordpress.org/extend/plugins/php-code-widget/

A new plugin for WordPress came out that’s kinda cool. It’s called Widgets, and the general idea of it is to make the sidebars on your blog a bit more configurable, a bit more easily.

So, I decided to spend an hour or so converting my sidebars to Widgets so I could manage them a bit simpler. Editing PHP code is easy but time consuming, while dragging stuff and dropping it to rearrange the blog, well, that’s quick and easy.

Few things I learned:

  1. The Widgets Plugin does not like Windows. Since I run this site on a Windows box (edit: I did then, I don’t anymore, and anyway, they have fixed this problem since then), it needed some tweaking to make it work. For those who want to know, the problem is in the sidebar_admin_setup() function in widgets.php. More info on this problem is in the comments of this post.
  2. Text boxes are extremely useful when converting from your existing customized webpage to a widgets based one, as you can simply cut and paste chunks of HTML into them and voila, you’ve got a sidebar widget. However, there’s not a lot of text widgets available. If you need more text widgets, you will need to edit these functions: widget_text_setup(), widget_text_page(), and widget_text_register(). As it turned out, I didn’t need but 4 text widgets because:
  3. Despite how useful text boxes were for a quick migration, they were not enough.

So, I ended up writing two plugins of my own.

The first one is a Google AdSense plugin. You can download it here: gadsense.zip. It’s exactly the same as the Text widgets, but with (very) minor tweaks specifically for inserting Google Ads in the sidebars. Also, it shows a name of “Google AdSense” in the widgets panel, which is nice. Like the Text widget, you can have more than 1 of them, but unlike the Text widget, you can only have 4 of them, since Google’s TOS only allows 3 ads and 1 link block on a page.

The next one is also like the Text plugin, however it will also let you put PHP code into the text and have it actually work. Here’s the download: execphp.zip. Like the Text plugin, you can have up to 9 of them (more if you want to tweak the code). Note that any PHP code you put into the widget MUST be surrounded by <?php and ?> tags, just like writing PHP normally. Also note that this is isn’t exactly safe, as it’s just doing an eval() on whatever you put in there, so you have complete and full access, as does anybody else who can get to your admin screen. Still, it’s very useful.

Both of those are plugins. Just drop them in the widgets folder under the plugins folder, and activate them on the plugins screen. Then the widgets will be available for you to use on the widgets screen.

Hope these help somebody. They sure helped me. )

Memphis in May

Okay, so MiM is coming up soon, and the Beale Street Music Festival is calling out, crying out for recognition. As usual, I will be having over any of my friends who care to come for a weekend of music, ribs, and debauchery, albeit not necessarily in that order.

So, all the information you want can be found on the Memphis in May website, and I’ll be emailing everybody soon with details on my discount. It will not be much, but considering that the single day price at the gate will be $25 this year, it’s better than in the past.

The band lineup is also available on their website, but if you’re not up for web navigation, here’s a direct link: (PDF)

Dates are May 5th, 6th, and 7th. There is one other good thing this year. In the past couple years, they always saved the best for last, as Mandy can testify to. This year, that doesn’t seem to be the case. Sunday’s lineup does have some quality bands, however, IMO, the best music is going to be on Friday and Saturday. Including B.B. King, who’s right at the top of Friday.

Anyway, come one, come all.

Edit: I sent out an email to several people with the details. If you didn’t get that email, and you want to come, email me for those details.

iTunes Javascripts

Somebody on digg mentioned AppleScripting iTunes on the Mac, but it seems to be less well known that you can write Javascripts or VBScripts for iTunes for Windows.
So, here’s a bunch of scripts I’ve written for various tasks:

I’ve written more, but these are the most general purpose ones.

To use any of them, just download them, rename them to a *.js file, then run them like any other program (double click, select and press enter, type the name from a command prompt, etc). If you have all the defaults in XP or have the Windows Scripting Host installed on other Windows boxes, then the wscript.exe program actually runs the scripts, much like cmd.exe runs batch files. Same idea, anyway. The scripts connect to iTunes as a COM object and use it in that fashion. Works really well and is quite handy for scripting tasks in iTunes. Yeah, it doesn’t actually integrate or anything, but it’s still useful.

css.php