OS X

xrayspx's picture

Hmm. So that's how it is in their family

Music: 

Shriekback - Malaria

TL;DR: Here is how to restore DJ to iTunes, as much as possible

A few months ago, Apple maliciously broke iTunes in several really specific ways, one of which was to drop the DJ functionality, which is basically how I would listen to music.

Reading a thread on JWZ's site this issue, among others, I posted my somewhat-fix for the issue. And it is. A "somewhat" fix. It acts pretty much like DJ used to act, but for two problems. You can't drag things from a window with your whole collection into your "DJ" window (Cause hey, ONLY ONE WINDOW NOW), and besides, I had to create a Smart Playlist to fix it, and you can't add to a smart playlist anyway. There is "Play Next", which I guess works.

My other main gripe with this is that when I hit Next to skip a track, usually it removes it from the top of the playlist, but often enough to annoy the fuck out of me, it doesn't, and I have to go back in and clean up the top of my list a few times a day. Worse, songs I've skipped will come back up in the mix sooner than I would otherwise want them to, since iTunes doesn't know I've skipped them.

I remember reading somewhere that there was a discussion once about how to make iTunes mark something as "Skipped", or at least what the secret parameters are that cause things not to become "Skipped". So tonight it annoyed me enough to hunt around, and of course, the very first hit was back to a different JWZ post from exactly three years ago this week, complaining about this exact skipping thing.

Of course he didn't get a satisfactory answer, because he almost never gets a satisfactory answer to exactly what he asked. It looks like if you skip between 2 and 20 seconds into the song, and don't hit pause ever, it will show as Skipped. Neat.

His Herp Derp checkbox was the only thing that made any of this sane for me in this case.

To mostly restore iTunes DJ, do the following:

Click + at the bottom left of the iTunes window and create a new Smart Playlist. I named mine "DJ-ish".

Match All of the following rules:

  • Last Played not in the last 1 days -- Or however long you want to go between repeats
  • Last Skipped not in the last 2 days -- This will make iTunes clean up most songs you skip using the Next button.
  • Limit to 100 items selected by Random -- or however many upcoming tracks you want it to pull at a time
  • Match only checked items -- Unless you want iTunes to randomly play songs you've explicitly told it you don't want to hear by un-checking them
  • Live Updating

It's pretty simple to get most of that functionality back, but you know what would have been simpler? NOT REMOVING IT.

xrayspx's picture

iTunes Mass Importer

Music: 

Bauhaus - King Volcano

For my own notes, so I don't forget I did this... Big thanks to Doug from Doug's Applescripts for iTunes for convincing me that making iTunes update in this way is possible.

As with all things, I have to make my music library overly complicated. In historical times, I ripped at 128k, then 192k, but even a lot of the 192k mp3s sound like crap, so I've decided that going forward, I'm doing 320k CBR MP3s as well as FLAC.

I'm using Max to do the rip and encode on the Mac. It encodes both sets of files in parallel and saves them in a directory under ~/Music/max-rips/Artist/Title.

Here is a script to sort that and update iTunes. It'll drop the MP3s in my MP3 library directory, then drop the FLACs in a repository for them, finally making iTunes add the new files at the end. If all you want is to make iTunes rescan your library for new files from a script of bash shell, you want the osascript line toward the bottom, just substitute the path to your collection in place of mine.

I'd like to pass $directory and $albumdir to the osascript and have it live inside the inner for loop, but I've not figured out how to use my variables inside the 's that osascript -e requires to run its part. It only takes a few seconds to re-index the whole thing.

This is the utterly fugly 15-minute first draft with crappy variables and whatnot, but it does work.

(Yeah yeah, "find blah blah | while yadda yadda", 15 minutes, works, admittedly fugly, 2000 CDs and nothing has | in the artist or title)
Update #2: Nevermind all that, the script below is a lot clearer and does all that stuff I wanted.

maxmover.sh:


#! /bin/bash

find ./max-rips -depth 1 -type d | awk -F "max-rips/" '{print $2}' | while read artist
  do

    mkdir "/Volumes/Filestore/CDs/$artist"
    mkdir "flac-output/$artist"

    find "./max-rips/$artist" -depth 1 -type d | awk -F "max-rips/$artist/" '{print $2}' | while read album
      do

        mkdir "/Volumes/Filestore/CDs/$artist/$album"
        mv "max-rips/$artist/$album"/*.mp3 "/Volumes/Filestore/CDs/$artist/$album/"
        mv "max-rips/$artist/$album" "flac-output/$artist"

        `/usr/bin/osascript         tell app "iTunes"
        add POSIX file "/Volumes/Filestore/CDs/$artist/$album/"
        end tell
        EOT`

      done

    rm -f "max-rips/$artist"/.DS_Store
    rmdir "max-rips/$artist"

  done

Update:
It looks like there are several ways to skin my osascript cat. These aren't even the most fluid examples I've found.

xrayspx's picture

Asus EEE Is Fired

I've spent some time with the Asus EEE 1006. It was one of those almost there, maybe if I tweak... situations, and I've given up wasting time tweaking.

Fixed Tags:
xrayspx's picture

Dear Internet Advertisers

[music | Nick Cave and the Bad Seeds - All Tomorrows Parties]

This week both Ars Technica and Fark, both of whom get decent traffic, have basically begged users not to use ad blockers. I think people would be less likely to use ad block if your ads didn't kill our browsers, below are some examples.

xrayspx's picture

Google Chrome Review @ 5 Minutes in

I've just been playing with Google Chrome from the Dev Channel site. After 5 minutes, I've got some things I hate.

xrayspx's picture

Backups

I've recently had to think about the mechanics of making idiot-proof backups on Linux and OSX. The specific machine I'm backing up is a Linux host with a 40GB drive. Historically only about 10% of the drive has been used, and the user has an IMAP mailbox, so all the mail is safe already.

xrayspx's picture

What it might look like if I used Twitter

Almost exactly half my music collection contains "the". Of 15,137 tracks, 7578 have "the" in the Artist, album or track name. So I'm 19 off.

The reason this came to my attention is that I was searching my collection for The The. iTunes doesn't seem to like that search much and only hits on one "the". Quotes mean nothing to this application. Thanks again Apple.

xrayspx's picture

What "Apple Tax"?

Why I gladly pay the Apple "Luxury Tax"

Fixed Tags:
xrayspx's picture

Converting Visio Stencils to OmniGraffle

Someday, we'll live in The Future, I swear it.

Last year I bought OmniGraffle 4 Pro, I really, really like that app, and it makes using Visio seem like self torture. Now only if the formats were open all the way around...

Mail.app and IMAP Folders

For some time, I've been annoyed by Mail.app not checking all folders every time it checks mail. My situation is that I have an IMAP server at a colo, a Mac Pro at home usually with Mail.app running and more importantly, running its filters, and a MacBook running Mail.app that I take with me to work or wherever.

Pages

Subscribe to RSS - OS X