Murphy Mac - Screencasts and Tutorials » Posts in category 'OS'

Remote Control Spotify

“I don’t think necessity is the mother of invention. Invention, in my opinion, arises directly from idleness, possibly laziness, to save myself trouble.”
-Agatha Christie

In Murphy’s continuing efforts to avoid leaving the sofa he’s using an iPhone to kick off Spotify on the Mac upstairs and have it stream over Airfoil to an Apple TV connected to a stereo downstairs. It works, it’s pretty simple, and once it’s started there are other options for controlling it. spotify
The key is that Spotify recently added some basic AppleScript support to their Mac app. Not as much as we’d like to see, but enough to get us started. Spotify says they’re just experimenting with AppleScript at this point. (There were workarounds before Spotify added support) We’ll be watching for further enhancements.
This short and simple AppleScript (view entire script) is all you need to get started. It launches Airfoil (an application for redirecting audio from your Mac to remote speakers via Airport Express or Apple TV) and selects Spotify as the audio source application. Then it selects a playlist in Spotify and initiates playback. That’s it. Let’s take a look at the script.
script
The lines in the first block set Spotify as the application Airfoil will pull audio from. As long as you’ve got Spotify in your Applications folder you can copy those lines exactly. The line in the next block references your speaker id, which you probably don’t know. You can get the id by running a very simple script that looks like this. That line will query your remote speaker for its id and display it in the results pane of the Applescript Editor. Be sure to use the name of your Apple TV or Airport Express in the quotes. Once you’ve got the id you shouldn’t need to run that script again.
script
The script pauses to make sure your Mac doesn’t get ahead of the launching applications. Spotify hasn’t provided playlist selection hooks for Applescript yet, but they do provide something almost as good. In the Spotify application you can right-click a playlist or track and get an identifier, just like you see in the screenshot at the top of the post. You want to select Copy Spotify URI. Notice the open location line in the script, it’s not inside the Spotify tell – end tell section because it’s not in the Spotify Applescript dictionary. Regardless, it works to select a playlist and that’s all we really need. The last part of the script tells Spotify to start playing.
So – now we just need the script to run. Murphy is using a Mail rule. He sends himself an email with a subject Mail is watching for. Mail runs the script whenever a message with that subject comes in. Once Spotify is up and running the Speakers app that comes with Airfoil can be used to pause or skip to the next track.
I’d rather have an application on my iPhone, maybe something like TextExpander, that could list Applescript TextExpander snippets on my Mac and kick them off that way. But I don’t know of an app like that. The email kick-off works fine, and it’s quick and easy to use, but at times I might have to use another app to wake the Mac up.
In the past I’ve used Mail to run Applescripts on my Mac. It started with putting my Mac to sleep by email but I’ve also used the strategy for kicking off iTunes (before the Remote app) and for file retrieval.

If you’re looking for more information on Applescript and Airfoil they’ve got some examples on their site.
Interesting: Initially I made a script that opened a Spotify playlist and didn’t include the line to commence playback. It stopped working after a day, I don’t know why. It would play the one track and then stop. The day before it jumped to whatever playlist had been set as the current playlist in the Spotify application and continued playback. Not sure what happened there.

Delete by the Word

Just when you thought you knew every keyboard shortcut someone finds another. OS X Daily posted about using Option+Delete to delete by the word instead of by the character. While looking over that post I followed a link to another suggesting ways to complete the word you’re typing, in OS X. In many applications you can hit the escape key after entering a few letters to see the suggestions. While typing this blog post in WordPress via Safari I had to use Option-Esc to see the list.

If I ever knew that I’d forgotten.

Video From iPhone Straight to Apple TV

rubeNote: This was posted before Airplay. But it still applies to the old Apple TV.
I was thinking it would be nice to watch a video I’d just recorded with my iPhone on the Apple TV. But it’s kind of a pain to do that. I’d have to run the iPhone upstairs, plug it in, wait for it to sync, add the video to a playlist…

Alternative: I could upload the video to YouTube, but you have to fill out the fields to upload and it seems sometimes my Apple TV loses track of my YouTube account. Or at least loses access.

So I’ve got a Rube Goldberg alternative that makes it really simple from a user perspective – once you’ve done the upfront legwork. Just email the video to yourself, if it’s short enough. Let your Mac automatically grab the video from your email and drop it into iTunes.  My Apple TV seems to immediately sync on its own when new content is added to a Playlist that’s set to sync.

I’m using a pretty straightforward AppleScript and a rule configured in my Mac’s Mail program. Here’s what happens:

  • I email the video to myself with the subject atv.
  • The email arrives.
  • A Mail-based rule sees the subject and kicks off an AppleScript that copies the video file to the Automatically Add to iTunes folder in my iTunes Music folder.
  • The video gets added to my iTunes Library.
  • The video is added to a Smart Playlist.
  • The Apple TV is set to sync with the Smart Playlist.
  • The video is synced to my Apple TV.

That looks like a lot of stuff but the Mac will do all the work. There are only a couple things you need to set up:

  • Create a Smart Playlist and tell Apple TV to sync with it
  • Create a rule in mail and have it run the AppleScript when a matching email comes in.

Then all you do is email yourself the video. If you open Finder and look around in your iTunes Music folder you’ll see a folder called Automatically Add to iTunes. Anything that gets dropped in there gets added to your library, so that’s where the script copies the file.

I threw this script together quickly, there’s nothing fancy, no error checking – so feel free to post any enhancements.   My intention is to provide an example of what can be done easily with AppleScript and Mail rules.  It might help someone accomplish other tasks similar to this one.

Here’s a link to the script and screenshots of a Mail rule and sample Smart Playlist settings.   The script was saved as a text file.  You need to change the path in the third line of script to reflect your user name. You also need to save it as an AppleScript using AppleScript Editor.

In the Mail rule you need to change the path to where you saved your AppleScript.

Mail Rule Screenshot:
Mail_Rule

Smart Playlist Screenshot:
Mail_Rule

You might come up with something more sophisticated for the Smart Playlist…

Finally – here’s a look at the AppleScript, which you can download.

Mail_Rule

Other tricks with Mail: Pick a Playlist by EmailRetrieve a File by EmailMail a File Dropped in a Finder Folder

CDFinder – Catalog Your Drives and Disks

drivesDon’t let the name fool you, CDFinder isn’t just for CDs. It can catalog your thumb drives, external drives, internal drives – and DVDs too.  This allows you to view the content of your media without powering up the drive or bringing it online.

Drives have started piling up around here. There’s a Drobo that helps a little, but I can think of four loose 3.5″ drives that have stuff on them. And a couple of portable USB drives. And piles of CDs and DVDs.

There’s also an offline G5 that I want to retire. I forget what’s on there from time to time so I use CDFinder ($39.99US) on my Macbook to take a look. CDFinder catalogs the contents of all kinds of files allowing you to view them when their host drive or disk is offline. Images, video, text, Adobe pro stuff – it can even index EyeTV files.

CDFinder is a big help with images. The application can generate thumbnails to help you sift through your content. Geotagging features let you add location data to your images and view them on various mapping services. Commercial CDFinder customers use it for managing large libraries of various types.

CDFinder developer Norbert Doerner stays busy adding new file types and features to the application. It can generate thumbnail images for many file types, including video formats.

You can assign labels to files and other custom fields. If the drive is online you can select a file and press the spacebar for a Finder-like preview.

I don’t have Spotlight indexing my Drobo, but I’ve got a CDFinder index so I can quickly search for files. cdfinder

I have little faith in the longevity of optical media, so I don’t have tons of CDs and DVDs to index. But I’ve got a few too many drives lying around. CDFinder can be a great help in getting your data organized –  and spotting what needs to be backed up.

I may not be the primary target audience of this product, but I can see where it could be useful and convenient for people with growing libraries of digital media or file archives at home. One thing I’d really like: The ability to tag files for removal and have them deleted when the drive is online again.

There are other products that perform similar functions. The CDFinder website has posted comparisons to other products – providing information on how they stack up.  Clearly CDFinder is a mature product with sophisticated features, like the ability to import catalogs from other indexing products.

The trial version lets you index 25 media items, that’s plenty to let you know how the product works. Keep in mind that CDFinder isn’t shareware, Norbert requires payment if you’re going to use it, even if you’re under 25 indexed items. Different licenses are available, including “Joe Average User.”

I started a small screencast for this post and it crashed on me. But Norbert at CDFinder has you covered with this walk-through video.

Random Filenames for Digital Photo Frame Images

RandomMany of the digital photo frames on the market still don’t have the ability to shuffle images and display them in random order.   A couple people I know have frames and want to mix up the photo stream a little. The first time I ran into this issue I used a Windows utility called renamer to assign random names to the image files. But what about a pure Mac solution?

There is one, and you don’t need anything other than OS X to get it done.  Skip to the screencast if you prefer – otherwise here’s what you do:

Place the files to be renamed in one folder. It’s best to have them all in one folder without subfolders. If you have images scattered inside subdirectories you’ll have to make some adjustments to these instructions.  USE A COPY OF YOUR ORIGINAL IMAGE FILES,  there’s no reason not to.

Open the Terminal from your Utilities folder in Applications. Type cd followed by a space. Then drag the folder containing the files from Finder to the Terminal window. Hit return. The Terminal prompt should update to indicate you’re now in the directory containing the images.  This folder should NOT BE THE SAME AS THE ONE YOUR ORIGINALS RESIDE IN.  Sorry for that, but it’s important.

Finally, type the following command in the Terminal:

for i in *.jpg; do mv $i $RANDOM.jpg; done

The command is case-sensitive.  If your images have names ending .JPG you’ll need to adjust the *.jpg part of the command above to use a capital JPG.

Hit return and your image files are renamed using random numbers.  Copy them to the digital photo frame and your images should cycle randomly.  Thanks to this thread at Mac Rumors Forums.

I’ve included a screencast for those not familiar with Terminal.  Be careful in the Terminal.  You can delete files accidentally and they won’t be in your Trash !  See this warning for more information.

© 2008 Murphy Mac – Screencasts and Tutorials is powered by WordPress